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
це різні програми з різними можливостями, можливо, ви могли б відредагувати свою відповідь для наочності.