Моя проблема: Я не могу установить 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
и попробуйте снова.