Вспомнил тут приколюху при создании нового пользователя в Linux. Ща расскажу.
Короче при создании нового юзера, создается папка /home/user
и в ней минимальный набор файлов, типа .bashrc, .profile. И все, больше в ней ничего нет.
Но я хочу для новых пользователей сразу создавать необходимую структуру папок.
Например:
/home/user/www/htdocs
/home/user/www/logs
/home/user/www/tmp
Ну тут логично, триггерим какой-нибудь bash скрипт который через mkdir создаст эти папки.
НО так не интересно!
В коробке линукса для этого есть /etc/skel
. Эта папка служит шаблоном для домашнего каталога нового пользователя.
Вот это нихуясе? Ага!
Работает это так:
sudo mkdir -p /etc/skel/www/htdocs /etc/skel/www/logs /etc/skel/www/tmp
Создаём необходимый шаблон со структурой папок.
Так-же можешь добавить шаблонные файлы .bashrc и .profile
Теперь создаем нового пользователя:
sudo useradd -m bashdays
Ну красота же!
Можешь создавать альтернативные шаблоны структур и затем это раскатывать так:
sudo useradd -m -k /custom/skel bashdays
И да, все права на папки и файлы автоматически установятся на те что нужно.
Ну и на закуску:
Не обязательно хостить пользователей в папке /home
, можно сделать так:
sudo useradd -m -d /var/www/bashdays bashdays
В этом случае домашняя папка юзера будет расположена в /var/www/
, а в /etc/passwd
будет такое:
bashdays:x:1000:1000::/var/www/bashdays:/bin/sh
Вот так вот и живем. Изучай.
А какие приколюхи знаешь ты? Камон в комменты.