Я хочу, чтобы у каждого нового пользователя с этого времени был удар как их оболочка по умолчанию.
Я знаю, что для изменения собственной оболочки для избиения Вы использовали бы команду "chsh-s/bin/bash", но как я автоматически устанавливаю оболочку всех будущих пользователей для избиения по умолчанию?
adduser
Файл 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 that. Альтернативой является sudo для пользователя, которого вы хотите изменить, и просто запустить chsh , например:
sudo -u $USERNAME chsh -s /bin/bash
Лучше избегать редактирования / etc / passwd
вручную, потому что ошибка там может привести к поломке всего.
Если вы действительно хотите, чтобы у всех пользователей на сервере был bash (именно этот вопрос был задан на самом деле), вы можете выполнить команду:
sudo dpkg-reconfigure dash
И затем выбрать НЕ тире. Как объясняется в этом ответе,
Как сделать так, чтобы / bin / sh указывал на / bin / bash?
Это не только устанавливает bash в качестве оболочки по умолчанию, но и правильно перенаправляет sh и страницы руководства.
Надеюсь, это поможет.