Skip to content

Instantly share code, notes, and snippets.

@badouralix
Created June 9, 2020 20:36
Show Gist options
  • Save badouralix/6237d1f756bdd6ad12b7e59da85f04d7 to your computer and use it in GitHub Desktop.
Save badouralix/6237d1f756bdd6ad12b7e59da85f04d7 to your computer and use it in GitHub Desktop.
#!/bin/bash
#
# Ce script est lancé à la fin de adduser
# Utilisation : adduser.local USER UID GID HOME
print_about() {
cat << EOF
$0 --- adduser(8) local system additions.
Ce script, une fois intallé en /usr/local/sbin/adduser.local, est
automaiquement appelé par le programme adduser(8) sur un système Debian.
Il complète la création d'un compte utilisateur après la copie du
dossier /etc/skel.
Ce script est automatiquement appelé par adduser avec les argument
"username uid gid homedir" ( voir adduser(8) pour plus d'information ).
Mais ce script peux aussi être appelé manuellement. Dans ce cas, la
syntaxe à utiliser est la suivante :
/usr/local/sbin/adduser.local [options] username [uid gid homedir]
où les options peuvent être :
EOF
}
print_help() {
cat << EOF
Utilisation : /usr/local/sbin/adduser.local [OPTIONS] USER [UID GID HOME]
Options :
EOF
}
## il faut traiter les options ici avec getopts et shift
# Analyse de l'username
if [[ $# -ne 1 && $# -ne 4 ]]
then
print_help
exit 1
else
_USER=$1
_UID=`id -u $_USER`
_GID=`id -g $_USER`
_HOME=`getent passwd $_USER | cut -d: -f6`
fi
# Comparaison avec les arguments
if [[ $# -eq 4 ]]
then
if [[ $_UID != $2 ]]; then
echo "Erreur de correspondance entre l'UID de $_USER ( $_UID ) et le paramètre $2\n"
exit 2
elif [[ $_GID != $3 ]]; then
echo "Erreur de correspondance entre le GID de $_USER ( $_GID ) et le paramètre $3\n"
exit 2
elif [[ $_HOME != `echo $4 | sed "s/\/$//"` ]]; then
echo "Erreur de correspondance entre le HOME de $_USER ( $_HOME ) et le paramètre $4\n"
exit 2
fi
fi
# Début des instructions spéciales
_NAME=`getent passwd $_USER | cut -d: -f5 | cut -d, -f1`
sed -ri "s/<%= NAME %>/$_NAME/g" $_HOME/.irssi/config
sed -sri "s/<%= USER %>/$_USER/g" $_HOME/.irssi/config $_HOME/.zlogin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment