O adduser
comando pode executar um script específico do site para fazer qualquer configuração, como remover arquivos. Desde que seja aceitável começar com uma cópia completa e excluir alguns arquivos posteriormente, essa abordagem poderá funcionar para você.
Na página do manual adduser (8) :
Se o arquivo /usr/local/sbin/adduser.local
existir, ele será executado após a configuração da conta do usuário para fazer qualquer configuração local. Os argumentos transmitidos para
adduser.local
são:
nome de usuário uid gid home-directory
Portanto, tudo o que você precisa fazer é escrever um script que use quatro parâmetros e use-o para remover todos os arquivos necessários. Salve-o como /usr/local/sbin/adduser.local
e verifique se está marcado como executável ( chmod a+x
).
Aqui está algo para você começar:
#!/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 parte interessante, que você deseja editar, são as linhas que se parecem com esta:
a)
[[ "${VERBOSE}" > 0 ]] && echo Removing file for a
rm "${NEW_HOME}/not_for_a.txt"
;;
Você pode preencher o nome e o comportamento reais do grupo que gostaria de ver em vez de a)
e rm not_for_a.txt
.
useradd
é desencorajado para sistemas baseados em debian na página de manual no meu sistema 16.04. Se o motivo dessa precaução mudou, você pode adicioná-lo à sua resposta. Também no 16.04useradd
eadduser
existem programas diferentes com opções diferentes, talvez você possa editar sua resposta para maior clareza.