Не могу установить свою оболочку как оболочку рыбы из-за ошибки при использовании chsh из-за файла блокировки

Не могу установить свою оболочку как оболочку рыбы из-за ошибки при использовании chsh из-за файла блокировки

Моя проблема: Я не могу установить fish-shell в качестве оболочки по умолчанию для пользователя 'student' на CentOS 7. Я установил fish-shell, загрузив .gz, настроив, make, make install.

output of which fish
/usr/local/bin/fish

запустив su из стандартной учетной записи «студент», я могу повысить свои права до root, который установлен как оболочка по умолчанию. Но когда я запускаю

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и попробуйте снова.

Связанный контент