由于锁定文件而使用 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并重试。

相关内容