由於鎖定檔案而使用 chsh 時發生錯誤,無法將我的 shell 設定為 Fish shell

由於鎖定檔案而使用 chsh 時發生錯誤,無法將我的 shell 設定為 Fish shell

我的問題:我無法將 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並重試。

相關內容