Linux
在腳本中永久切換到 zsh,無需 root 身份且無需輸入密碼
有沒有什麼方法可以在
chsh -s /bin/zsh
沒有 root 身份且不被要求輸入密碼的情況下執行?我想把它放到一個不被root呼叫的非互動式腳本中。
如果您沒有更改登錄 shell 的權限,您可以告訴 bash(我假設 bash 是您的登錄 shell)用 zsh 替換自己。在您的
~/.bash_login
中,添加以下行:exec /bin/zsh --login
如果您的版本
chsh
需要密碼(我的需要密碼),您將需要設置具有特殊權限的 sudo。您可以將其配置為允許訪問任何程序而無需提示輸入密碼,如下所示:user ALL=(ALL) NOPASSWD:/usr/bin/chsh
其中“user”是您的使用者名(或前綴為 % 的組名)。確保指定完整路徑到您的
chsh
. 這將不允許使用者以 root 身份執行任何 ELSE(包括從腳本),但它將允許一個二進製文件以 root 身份執行而無需密碼,從而繞過使用者密碼提示。