Как изменить оболочку по умолчанию для ВСЕХ ПОЛЬЗОВАТЕЛЕЙ на bash?
Я хочу, чтобы у каждого нового пользователя по умолчанию была оболочка bash.
Я знаю, что для того, чтобы изменить собственную оболочку на bash, вы бы использовали команду "chsh -s /bin/bash", но как мне автоматически установить оболочку всех будущих пользователей на bash по умолчанию?
3 ответа
Добавить пользователя
adduser
файл по умолчанию /etc/adduser.conf
, Оболочка по умолчанию, определяемая DSHELL
переменная /bin/bash
по умолчанию.
useradd
Скорее всего, вам это не нужно, потому что useradd - это утилита очень низкого уровня, и она почти никогда не используется напрямую.
Если вы используете useradd, отредактируйте /etc/default/useradd
файл скелета (не забудьте сделать резервную копию, хотя).
Установить SHELL
переменная к /bin/bash
вместо /bin/sh
,
Теперь каждый раз, когда вы используете useradd
добавить нового пользователя bash
это автоматически их оболочка по умолчанию.
Уже существующие пользователи
Если вы хотите изменить оболочку уже существующих пользователей, вы должны отредактировать /etc/passwd
файл (пожалуйста, убедитесь, что у вас есть резервная копия).
Вот описание столбцов
- логин
- необязательный зашифрованный пароль
- числовой идентификатор пользователя
- числовой идентификатор группы
- имя пользователя или поле комментария
- домашний каталог пользователя
- необязательный пользовательский интерпретатор команд
В том порядке, разделенном двоеточиями (:), как это.
root:x:0:0:root:/root:/bin/bash
Для получения дополнительной информации об этом файле обратитесь к странице man man 5 passwd
,
Как указал Октавиан, способ изменения значений по умолчанию зависит от того, как вы создаете пользователя. Я только что попытался создать нового пользователя в настройках Gnome, и похоже, что /etc/default/useradd
, так что это может быть вашим лучшим выбором. Для существующих пользователей самый безопасный способ изменить чужую оболочку входа - это usermod:
usermod -s /bin/bash $USERNAME
Если вы не root, вам понадобится sudo. Альтернативой является sudo для пользователя, которого вы хотите изменить, и просто запустите chsh, например так:
sudo -u $USERNAME chsh -s /bin/bash
Лучше избегать редактирования /etc/passwd
вручную, потому что ошибка там может сломать все виды вещей.
Если вы действительно хотите, чтобы все пользователи на сервере имели bash (именно этот вопрос и задавался), вы можете запустить команду:
sudo dpkg-reconfigure dash
И затем выберите НЕ тире. Как объясняется в этом ответе,
Как сделать так, чтобы / bin / sh указывал на / bin / bash?
Это не только устанавливает bash в качестве оболочки по умолчанию, но и правильно отображает sh и man-страницы.
Надеюсь это поможет.