問題: CentOS 7 のユーザー「student」のデフォルト シェルを fish-shell に設定できません。.gz をダウンロードし、構成、make、make install して fish-shell をインストールしました。
output of which fish
/usr/local/bin/fish
標準の「学生」アカウントからsuを実行すると、フィッシュがデフォルトのシェルとして設定されているルートに昇格できます。しかし、
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
て再試行してください。