adduserКоманда може запустити сайт-специфічний сценарій , щоб робити якісь - або настройки , як видалення файлів. Доки прийнятно починати з повної копії, а потім видаляти деякі файли, після цього такий підхід може працювати для вас.
На сторінці чоловіка adduser (8) :
Якщо файл /usr/local/sbin/adduser.local
існує, він буде виконуватися після створення облікового запису користувача для будь-якої локальної установки. Аргументи, які передаються
adduser.local:
ім'я користувача uid gid домашній каталог
Тому все, що вам потрібно зробити, - це написати скрипт, який бере чотири параметри, і використовуйте його для видалення будь-яких потрібних вам файлів. Збережіть його як /usr/local/sbin/adduser.localі переконайтеся, що він позначений виконуваним ( chmod a+x).
Ось що для початку:
#!/bin/bash
## Site-specific setup for newly-created users.
## adduser(8) will call this script after setting up a new user.
set -euo pipefail
if [[ "$#" != 4 ]]; then
echo "usage: $0 username uid gid home" > /dev/stderr
fi
NEW_USERNAME="${1:?}"
NEW_UID="${2:?}"
NEW_GID="${3:?}"
NEW_HOME="${4:?}"
# The groups command outputs a space-separated list of group names
IFS=' '
for group in $(groups "${NEW_USERNAME}"); do
case "${group}" in
a)
[[ "${VERBOSE}" > 0 ]] && echo Removing file for a
rm "${NEW_HOME}/not_for_a.txt"
;;
b)
[[ "${VERBOSE}" > 0 ]] && echo Removing dir for b
rm -r "${NEW_HOME}/not_for_b/"
;;
*)
[[ "${VERBOSE}" > 1 ]] && echo No special setup required for $group
;;
esac
done
Цікава частина, яку ви хочете відредагувати, - це рядки, схожі на цей:
a)
[[ "${VERBOSE}" > 0 ]] && echo Removing file for a
rm "${NEW_HOME}/not_for_a.txt"
;;
Ви можете заповнити фактичну назву групи та поведінку, яку ви хочете бачити замість a)та rm not_for_a.txt.
useraddперешкоджає системам на основі debian на сторінці man на моїй системі 16.04. Якщо причина цієї обережності змінилася, ви можете додати її до своєї відповіді. Також 16.04,useraddіadduserце різні програми з різними можливостями, можливо, ви могли б відредагувати свою відповідь для наочності.