Как изменить оболочку по умолчанию для ВСЕХ ПОЛЬЗОВАТЕЛЕЙ на bash?

Я хочу, чтобы с этого момента каждый новый пользователь по умолчанию использовал bash в качестве своей оболочки.

Я знаю, что для изменения вашей собственной оболочки на bash вы должны использовать команду "chsh -s / bin / bash", но как мне автоматически настроить оболочку всех будущих пользователей на bash по умолчанию?

adduser

То adduser файл по умолчанию - это /etc/adduser.conf. Оболочка по умолчанию, определенная DSHELL переменная - это /bin/bash по умолчанию.

useradd

Скорее всего, вам это не нужно, потому что useradd - это утилита очень низкого уровня, и она почти никогда не используется напрямую.

Если вы используете useradd, отредактируйте /etc/default/useradd файл скелета (однако не забудьте сделать резервную копию).

Установите SHELL переменная для /bin/bash вместо /bin/sh.

Теперь каждый раз, когда вы используете useradd чтобы добавить нового пользователя bash автоматически является их оболочкой по умолчанию.

Уже существующие пользователи

Если вы хотите изменить оболочку уже существующих пользователей, вам необходимо отредактировать /etc/passwd файл (пожалуйста, убедитесь, что у вас есть его резервная копия).

Вот описание столбцов

  1. имя для входа в систему
  2. необязательный зашифрованный пароль
  3. числовой идентификатор пользователя
  4. числовой идентификатор группы
  5. имя пользователя или поле для комментариев
  6. домашний каталог пользователя
  7. дополнительный интерпретатор пользовательских команд

В таком порядке, разделенные двоеточиями (:), как это.

root:x:0:0:root:/root:/bin/bash

Для получения дополнительной информации об этом файле обратитесь к справочной странице man 5 passwd.

Как отметил Октавиан, способ изменения значений по умолчанию зависит от того, как вы создаете пользователя. Я только что попытался создать нового пользователя через свои настройки Gnome, и, похоже, это следует /etc/default/useradd, так что это может быть вашим лучшим выбором. Для существующих пользователей самый безопасный способ изменить чужую оболочку входа - это использовать usermod:

usermod -s /bin/bash $USERNAME

Если вы не являетесь root, вам нужно будет потеть тот. Альтернативой является потеть в пользователя, которого вы хотите изменить, и просто запустите чшш, вот так:

sudo -u $USERNAME chsh -s /bin/bash

Лучше всего избегать редактирования /etc/passwd вручную, потому что ошибка там может сломать все, что угодно.

Если вы действительно хотите, чтобы у всех пользователей на сервере был bash (который на самом деле был задан вопрос), вы можете выполнить команду:

sudo dpkg-reconfigure dash

А затем выберите "НЕ тире". Как объяснено в этом ответе,

Как я могу сделать так, чтобы /bin/sh указывал на /bin/bash?

Это не только устанавливает bash в качестве оболочки по умолчанию, но и правильно перепечатывает sh и справочные страницы.

Надеюсь, это поможет.