[英]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.