chsh фактически изменяет строку, относящуюся к пользователю, в / etc / passwd, хотя пользователь может изменить только свою собственную «строку» в / etc / passwd. Следовательно, если вы хотите изменить оболочку для другого пользователя, вам нужен его / ее пароль.
Если вы действительно хотите это сделать (учитывая проблемы в посте Лоренцо и возможные проблемы безопасности), вот как это можно сделать:
#visudo
Это требует привилегий root.
Допустим, вы сейчас работаете как «Алиса» и хотите изменить оболочку «bob» без пароля;
Добавить в файл:
Cmnd_Alias SHELL = /usr/bin/chsh
Runas_Alias SH = Bob
alice ALL = (SH) NOPASSWD: SHELL
Это гарантирует, что «Алиса» может работать на всех хостах как пользователи в группе SH без пароля группы команд в SHELL.
Вероятно, немного надуманным, чтобы сделать это таким образом, но это возможно.
Обязательно прочитайте «man sudoers» перед тем, как заменить файл sudores на «visudo», особенно сообщения, связанные с безопасностью!