/etc/skel
папка, которая будет клонирована для новых пользователей. Есть ли возможный способ определить правила для копирования из /etc/skel
папки?
Например, я ищу способ, которым, если пользователь создан и принадлежит к группе с именем A
, /etc/skel
кроме папки клонов /etc/skel/not_for_a.txt
. Возможно?
useradd
не рекомендуется для систем на основе Debian на странице руководства в моей системе 16.04. Если причина этого предостережения изменилась, добавьте его в свой ответ. Также на 16.04useradd
иadduser
находятся разные программы с разными опциями, возможно, вы могли бы отредактировать свой ответ для ясности.adduser
команде, поэтому мы используемuseradd
. Это не совсем обескураживает: «useradd
это утилита низкого уровня для добавления пользователей. В Debian администраторы обычно должны использоватьadduser
вместо этого». Можно использовать эту команду при необычных обстоятельствах, подобных этому.Создайте дополнительные
skel
каталоги.Скопируйте содержимое
/etc/skel
в/etc/skelA
.Настройте альтернативное содержимое каталога skel.
adduser
без homedir, но с другими нормальными настройками. Замените многоточие соответствующими настройками.mkhomedir_helper
для создания пользователей homedir на основе альтернативных skel dir.источник
adduser
действительно поддерживает ограниченный способ исключения файлов из директории скелета. Отman adduser.conf
:Хотя вы не можете установить это регулярное выражение из командной строки, вы можете установить используемый конфигурационный файл, используя
--conf
опцию. Таким образом, вы можете создавать дополнительные копии,/etc/adduser.conf
которые отличаются только отSKEL_IGNORE_REGEX
, и использовать их:источник
Команда
adduser
может запустить специфичный для сайта сценарий, чтобы выполнить любую настройку, например удаление файлов. Если допустимо начинать с полной копии, а затем удалять некоторые файлы, тогда этот подход может работать для вас.Со страницы руководства adduser (8) :
Поэтому все, что вам нужно сделать, это написать скрипт, который принимает четыре параметра и использовать его для удаления любых файлов, которые вам нужны. Сохраните его как
/usr/local/sbin/adduser.local
и убедитесь, что он помечен как исполняемый (chmod a+x
).Вот кое-что, чтобы вы начали:
Интересная часть, которую вы хотите отредактировать, это строки, которые выглядят так:
Вы можете ввести фактическое имя группы и поведение, которое вы хотели бы видеть вместо
a)
иrm not_for_a.txt
.источник