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

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

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

46
задан 7 January 2014 в 02:55

3 ответа

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-странице man 5 passwd.

68
ответ дан 7 January 2014 в 02:55

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

usermod -s /bin/bash $USERNAME

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

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

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

30
ответ дан 7 January 2014 в 02:55

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

sudo dpkg-reconfigure dash

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

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

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

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

2
ответ дан 23 November 2019 в 00:13

Другие вопросы по тегам:

Похожие вопросы: