Например, если я запущу команду adduser test
, будет ли .bashrc создан автоматически при создании домашнего каталога пользователя test
? Если он не создается при создании пользователя, то при каких условиях он создается?
Кроме того, если я добавлю файл .bashrc в домашний каталог пользователя, будет ли он перезаписан ОС?
Заранее спасибо.
решение1
В большинстве случаев начальные пользовательские файлы (включая .bashrc
) создаются при создании пользователя. Они являются копиями файлов, хранящихся в каталоге 'skeletal', называемом /etc/skel
. Существуют две основные команды:
useradd
это внутренняя команда, если вы используете ее напрямую (без каких-либо параметров), будет создан только системный пользователь (и его группа):$ sudo useradd new-user $ ls -la /home/new-user/ ls: cannot access '/home/new-user/': No such file or directory
useradd
создаст домашний каталог и заполнит его копией,/etc/skel
если-m
--create-home
указана опция. Спасибо заэтот комментарийдля @jwodder.Эта опция
-s
--shell
изменит имя оболочки входа нового пользователя. Независимо от того, какая оболочка входа нового пользователя, все содержимое каталога 'skeletal'/etc/skel
будет загружено в домашний каталог нового пользователя.С помощью этой опции можно определить другой «скелетный» каталог
-k
--create-home
.Файл конфигурации этой команды —
/etc/default/useradd
.
adduser
удобный и интерактивный интерфейсuseradd
. Эта команда по умолчанию скопирует файлы из/etc/skel
в каталог пользователя :$HOME
$ sudo adduser new-user Adding user `new-user' ... Adding new group `new-user' (1002) ... Adding new user `new-user' (1002) with group `new-user' ... Creating home directory `/home/new-user' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for new-user Enter the new value, or press ENTER for the default Full Name []: New User Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] $ ls -a /home/new-user/ . .. .bash_logout .bashrc .config examples.desktop .profile .Xdefaults
Файл конфигурации этой команды —
/etc/adduser.conf
.Значение по умолчанию для оболочки входа нового пользователя определяется переменной
DSHELL=
. Его также можно указать с помощью параметра--shell
. Независимо от того, какая оболочка входа нового пользователя, все содержимое каталога 'skeletal'/etc/skel
будет загружено в домашний каталог нового пользователя.Переменная
SKEL=
в этом файле указывает каталог по умолчанию, содержащий «скелетные» пользовательские файлы.Эта опция
--no-create-home
заставит командуadduser
не создавать домашний каталог пользователя, соответственно, содержимое каталога «skeletal» не будет скопировано.Если вызвано с одним аргументом без опции и опцией
--system
,adduser
добавится системный пользователь... Домашний каталог создается по тем же правилам, что и для обычных пользователей. Новый системный пользователь будет иметь оболочку/bin/false
(если не переопределено опцией--shell
), а входы будут отключены.Файлы конфигурации скелета не копируются. ...со страницы руководства.
Кроме того, когда пользователь создается с помощью любого инструмента с графическим интерфейсом, напримерUser Accounts
, результат идентичен результату команды adduser
.
Использованная литература: