Я добавляю пользователя с именем 'test' на свой сервер Ubuntu 18.04. Когда я добавляю пользователя с помощью adduser
, например:
sudo adduser --system --group test --shell /bin/bash
все идет хорошо, я могу войти в систему нормально, но .bashrc, .bash_logout и .bash_profile по умолчанию не помещаются в домашний каталог. Тогда как, когда я добавил пользователя с помощью useradd
следующим образом:
sudo useradd -m test -s /bin/bash
пользователь добавляется так же, как adduser
, и у меня есть предварительно настроенные .bash_profile, .bashrc и .bash_logout в домашний реж.
Может кто-нибудь объяснить, почему есть разница? Мне не хватает какого-либо флага при использовании adduser
?
Это поведение adduser
происходит из-за опции --system
. При использовании этой опции Вы, создают пользователя системы, с UID под 1 000. От man adduser
:
Если названо с одним аргументом неопции и
--system
опция,adduser
добавит пользователь системы... Корневой каталог создается теми же правилами что касается обычных пользователей. У нового пользователя системы будет оболочка/bin/false
(если не переопределено с--shell
опция), и имеют отключенные логины. Скелетные конфигурационные файлы не копируются.
Скелетные конфигурационные файлы являются этими файлами, расположенными в /etc/skel
, это копируется, делают корневой каталог пользователя, когда новый обычный пользователь добавляется к системе.
Если Вы хотите добавить обычного пользователя, по умолчанию, действительно необходимо добавить любые опции к adduser
, просто использование:
sudo adduser username
С другой стороны, если Вы хотите создать полностью определенного обычного пользователя adduser
необходимо добавить немного дополнительных опций, например -m
создать корневой каталог пользователя и скопировать содержание /etc/skel
.