Как заставить Ubuntu useradd вести себя как Centos useradd?

Я не помню, чтобы менял CentOS useradd, чтобы получить такое поведение.

useradd в CentOS создает домашний каталог пользователя со всеми обычными файлами (например, .bashrc).

Я модифицировал /etc/default/useradd чтобы это выглядело как CentOS (просто нужно раскомментировать), за исключением того, что в Ubuntu SHELL=/bin/sh вместо SHELL=/bin/bash

Как заставить useradd действовать так же, как в CentOS? Есть ли какая-либо существующая опция для изменения? Или я должен просто добавить псевдоним /etc/bash.bashrc?

Разница: в Ubuntu useradd не создает домашний каталог.

как корень:

$ useradd test
$ cd ~test
-su: cd: /home/test: No such file or directory

2 ответа

Решение

Вам нужно будет добавить строку

CREATE_HOME yes

в /etc/login.defs

Со страницы руководства Ubuntu useradd

-m, --create-home

...

По умолчанию, если эта опция не указана и CREATE_HOME не включен, домашние каталоги не создаются.

Хотя справочная страница CentOS более полезна, как говорится

... useradd создаст домашний каталог, если для CREATE_HOME в /etc/login.defs не установлено значение no.

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

редактировать

Используйте useradd -m username, это работает как для centos, так и для ubuntu.

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