我有一個服務等級帳戶來運行我的網頁伺服器,並且該用戶是使用/sbin/nologin
.
通常,當您將使用者新增至群組時,您必須登出並登入才能使用新的群組權限。
我想將此用戶添加到另一個群組以擴展其部分權限,但由於我的網站伺服器用戶從未登錄,用戶何時或如何獲得新群組權限的存取權限?
答案1
進程的群組由在執行進程的程式之前從 root 更改為目標使用者的程式設定。當使用者登入時,更改使用者的程式是登入程序(login
, su
, sshd
, …),而該進程的程式是使用者的 shell。對於在系統使用者下執行的守護進程,更改使用者的程式可以是su
或其他一些工具,例如 Debian 的start-stop-daemon
。例如,start-stop-daemon
始終將補充組新增至流程。使用者變更程序必須具有從使用者資料庫設定主要群組和從群組資料庫設定補充群組的邏輯。
答案2
CentOS 6nscd
可能正在運行。如果您沒有透過進階命令(例如usermod
)變更群組所有權,則必須確保執行grpconv
/etc/gshadow 也會更新。如果nscd
正在運行新增nscd -i group
以使本機群組快取無效。如果您更改了主 GID,請執行nscd -i passwd
.
使用 檢查結果id -a $ACCOUNT
。
之後 - 重新啟動您的服務。
答案3
我建議 su - ; /etc/init.d/NAME 停止; /etc/init.d/NAME 開始;
“/etc/init.d/NAME restart”可能還不夠。