Shell
將root的shell設置為預設值以外的其他東西是不好的做法嗎?
曾經我的一個朋友(一位經驗豐富的 Unix/Linux 使用者)告訴我將 root 的 shell 設置為 sh 以外的其他東西(即 bash 或 zsh)可能會產生問題,因為某些腳本可能會假定 shell 是 sh 並做一些奇怪的事情.
但是,我認為 Ubuntu 將預設 root shell 設置為 bash,而 Gentoo 也使用 bash。有人能打破神話嗎?
是的。如果系統在引導過程中出現故障,您可以登錄到 root shell。如果您有單獨的 /usr,則某些 shell 可能無法成功啟動。
我建議
toor
使用非標準外殼創建帳戶(uid 0,gid 0),同時使用預設外殼保留根。
應該不是問題。
Shell 腳本文件顯式編碼執行它們的 shell。它被編碼在第一行或其他程序或腳本執行特定的 shell 並將 shell 腳本作為參數。
我能想到的唯一使用使用者帳戶 shell 資訊(除了登錄過程)的程序是 procmail。如果您的使用者在郵件伺服器上設置為 shell /bin/false 真的很有趣……但是您通常不會以 root 身份執行 procmail。
另一個候選者是 root 的 crontab 中的行。我不知道 crond 的策略是使用哪個 shell。