簡體   English   中英

Linux:用戶登錄時發送消息

[英]Linux : Send message when a user logs in

我必須創建一個Shell ,當用戶登錄時,它將在建立連接的終端上打印有多少個用戶登錄到其進程數中。

第二部分(帶有流程的部分)很簡單,感謝您的以下命令

ps hax -o user | sort | uniq -c

但是我不能再走了。 我不知道如何為每個用戶自動啟動此腳本,甚至不知道如何在其終端上編寫。 (我找到msg之類的命令, write但都需要我輸入用戶名)

您的命令ps hax -o user | sort | uniq -c ps hax -o user | sort | uniq -c ps hax -o user | sort | uniq -c不會顯示已登錄用戶的進程數,而是會顯示當前未登錄的每個用戶(包括系統帳戶)的進程數。

可以使用who命令獲取僅已登錄用戶的列表。

要獲得每個登錄用戶的已處理計數,可以嘗試:

for u in `who -u | cut -f1 -d' ' | sort -u`; do echo -n "$u "; ps hx -u $u | wc -l; done;

僅在登錄時才在用戶終端上顯示的消息是在/etc/motd測試文件中設置的。 這是靜態文件。 您需要的是動態生成的motd文件。 這可以通過update-motd實現。

在Ubuntu / Debian上,可以在/etc/update-motd.d/找到update-motd配置腳本。

我不確定類似系統上的RedHat是否提供類似功能,但是您可以搜索update-motd或dynamic motd。

如果希望僅在用戶每次打開終端時才顯示該消息,則可以編輯/etc/bash.bashrc並在其中包含.sh腳本。 該文件基本上包含每次打開終端時都會執行的命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM