Я работал в системе Ubuntu, где у меня не было административных привилегий, и я не мог изменить оболочки (с tcsh
на bash
), используя chsh
. Я решил проблему записи в .tcshrc
, чтобы открыть bash.
Я не могу понять, почему мне нужны права администратора, чтобы использовать chsh
в моем собственном домашнем каталоге. Если мне нужны привилегии, потому что chsh
что-то меняет в папке /etc
, как это отличается от смены моего пароля? Я могу изменить свой пароль, даже если я не являюсь администратором, и это также вносит изменения в /etc
.
В чем разница между сменой пароля и оболочки?
И chsh
, и passwd
позволяют пользователю изменять свою оболочку и пароль по умолчанию. В обоих случаях пользователь должен будет указать свой текущий пароль для авторизации изменений. Пользователю не нужны sudo
(административные) привилегии.
Команда будет такой:
chsh -s /bin/tcsh
chsh tcsh
не будет работать, так как для нее требуется полный путь. Однако вам также необходимо выйти из системы и снова войти в нее, поскольку X-сессия продолжит представлять вам оболочку, которую она прочитала из /etc/passwd
при первой загрузке. Быстрый способ подтвердить, что ваша оболочка действительно изменилась, - это переключиться на один из виртуальных терминалов и войти туда (например, Ctrl kbd> + Alt kbd> + F1 KBD>).