我的問題:我無法將 CentOS 7 上使用者「student」的預設 shell 設定為 Fish-shell。我透過下載 .gz、設定、make、make install 安裝了fish-shell。
output of which fish
/usr/local/bin/fish
從標準的「學生」帳戶執行 su,我可以將自己升級為 root,其中 Fish 被設定為預設 shell。但當我跑步時
student@localhost ~> whoami
root
student@localhost ~>
/root
student@localhost ~> sudo chsh -s /usr/local/bin/fish student
Changing shell for student.
chsh: user attribute not changed: Invalid contents of lock `/etc/passwd.lock`
查看 /etc/passwd 我發現沒有發生任何變化。
知道我能做什麼嗎?看起來鎖定檔案阻止我繼續操作。
答案1
看起來您之前更改/etc/passwd
文件的嘗試之一在鎖定文件中留下了一些垃圾。
此鎖定檔案可防止多個更新相互抵消。如果您是唯一使用該系統的人,請刪除該檔案/etc/passwd.lock
並重試。