При создании нового пользователя в Debian (как было подробно рассмотрено в → этой статье) домашний каталог пользователя в директории /home
. А при настройке рабочей машины для работы в качестве WEB-сервера это не то, что нужно. Выбор конфигурации файлов для этих нужд рассмотрен в → этой статье. Можно конечно после создания пользователя прописывать ему другую папку в качестве домашней, но если пользователей не один и не два... Да даже, если и два! Хотелось бы автоматизации, чтобы не вспоминать каждый раз то, как, что и в какой последовательности делать. Поэтому ниже рассмотрим смену настроек Debian так, чтобы домашний каталог любого нового пользователя, создаваемого командой adduser
сразу был тот, который подразумевается для дальнейшей настройки WEB-серверов (Apache и NGiNX).
Настройки Debian по умолчанию (сразу после установки дистрибутива)
Прежде, чем что-то менять, посмотрим, как происходит создание нового пользователя в Debian, и уделим пристальное внимание тому, где и как создаётся домашний каталог нового пользователя:
root@server:/home# adduser test
Adding user `test' ...
Adding new group `test' (1000) ...
Adding new user `test' (1000) with group `test' ...
Creating home directory `/home/test' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for test
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Посмотрим, что в итоге получилось (используя полезные сведения об опциях команды tree
из → этой статьи):
root@server:/home# tree -ugp
.
└── [drwxr-xr-x test test ] test
1 directory, 0 files
Как видим, была создана папка с именем нового пользователя, с правами доступа для него и его группы 755.
Всё хорошо, но не там, где нужно!
Удаляем этого пользователя командой deluser test
и его домашнюю папку командой rm /home/test/ -r
для того, чтобы не плодить лишние сущности на компьютере.
/etc/adduser.conf
— шаблон создания нового пользователя Linux с помощью команды adduser
Для того, чтобы раз и навсегда поменять домашний каталог нового пользователя Unix, нужно поменять настройки его создания. Эти настройки прописаны в файле шаблона /etc/adduser.conf
.
Сейчас нас интересует строка:
DHOME=/home
У меня она 10-я. Поменяем значение переменной DHOME
на то, которое нам нужно /var/www
, - директорию, в которой будут храниться все данные всех сайтов конкретного пользователя. Получится:
DHOME=/var/www
Сохраним файл и попробуем создать пользователя снова.
Правильная конфигурация /etc/adduser.conf
— шаблона создания нового пользователя Linux с правильным домашним каталогом
Создаём нового пользователя:
root@server:/home# adduser test
Adding user `test' ...
Adding new group `test' (1000) ...
Adding new user `test' (1000) with group `test' ...
Creating home directory `/var/www/test' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for test
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
Выглядит прекрасно! Проверяем домашнюю директорию по новому адресу:
root@server:/home# cd /var/www
root@server:/var/www# tree -ugp
.
├── [drwxr-xr-x root root ] html
│ └── [-rw-r--r-- root root ] index.html
└── [drwxr-xr-x test test ] test
2 directories, 1 file
Красота! Новая папка там где надо, с теми правами, которые подразумевались (и которые скорее всего я поменяю).
Резюме
Таким образом можно поменять домашнюю папку пользователя по умолчанию в Linux путём изменения шаблона создания нового пользователя Debian /etc/adduser.conf
. Поставленная задача решена. Сервер в этом отношении настроен так, как подразумевается.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)