如何在Linux中阻止用戶登錄,但允許“su - user”?

如何在Linux中阻止用戶登錄,但允許“su - user”?

如何允許使用者使用“登入”su - 使用者" 但阻止使用者使用 SSH 登入?

我嘗試將外殼設置為,/bin/false但當我嘗試時su它不起作用。

有幾種方法只允許透過 登入su

SSH 是AllowUser可行的方法嗎? (如果這是要走的路,我會怎麼做)

答案1

您可以使用允許用戶/允許組如果您只有少數使用者/群組可以透過 ssh 登入或拒絕用戶/拒絕組如果您只有幾個使用者/群組不是允許登入。請注意,這僅限制透過 ssh 登錄,其他登入方式(控制台、ftp...)仍然是可能的。您需要將這些選項新增至您的/etc/ssh/sshd_config大多數 ssh 安裝的檔案。

如果您已將登入 shell 設定為/bin/假你可以使用su -s /bin/bash user(替換/bin/bash與您選擇的外殼)

答案2

如果您仍然希望 su 工作,可以使用sudo -u [username]或傳遞-s /bin/bash給 su 作為臨時 shell。在沒有 shell 的情況下,它們都執行相同的操作/etc/passwd

答案3

如果帳號沒有密碼(passwd -d 用戶名),他們無法互動式登入(控制台、SSH 等)。如果他們有一個有效的外殼,仍然會工作。但請注意「互動式」;如果有人決定為該帳戶設定 SSH 金鑰對,它就會起作用!

答案4

除了上述的(停用和/或不設定使用者密碼)之外,pam_access 模組(尋找 pam_access 和 access.conf 的手冊頁)還可用於控制登入存取。

相關內容