meta données pour cette page
Liste de commandes pour gérer les utilisateurs et groupes sur Unix
Gérer les utilisateurs et les groupes
Commande | Résultat |
---|---|
adduser | Ajout d'un utilisateur avec ses informations |
deluser | Supprime l'utilisateur |
delgroup | Supprime un groupe ? |
useradd | commande de bas niveau pour ajouter un utilisateur |
userdel | commande de bas niveau pour supprimer un utilisateur |
groupadd | commande de bas niveau pour ajouter un groupe |
groupdel | commadne de bas niveau pour supprimer un group |
Exemples d'utilisations
- Ajouter un utilisateur qui aura accès aux fichiers logs et a certains droits administrateur :
# usermod -a -G adm,sudo mon_utilisateur
- Autoriser l'utilisateur à certaines applications normalement réservé à l'administrateur :
Par exemple, ici on autorise l'utilisateur à mettre à jour le système.
# visudo
On ajout cette ligne :
mon_utilisateur ALL = NOPASSWD:/usr/bin/apt-get,/usr/bin/aptitude
Par la suite, il lui sera possible d'utiliser ces commandes :
$ sudo apt-get update
Changer des informations sur l'utilisateur en question
Commande | Résultat |
---|---|
chfn | Changer les infos administrative d'un utilisateur |
chsh | Changer le shell d'un utilisateur |
chage | Change les conditions d’expiration d'un mot de passe utilisateur |
chage -l <user> | Affiche la data d'expiration du mot de passe |
passwd -e | Oblige le changement du mot de passe d'un utilsateur lors de sa prochaine connexion |
passwd -l | Désactive temporairement un compte |
passwd -u | Active un compte |
vipw | Editer le fichier /etc/passwd de manière sûre |
vigr | Editer le fichier /etc/group de manière sûre |
Changer d'UID ou de GUID
~~~ usermod -u 9383 $USER groupmod -g 9383 $USER ~~~
Créer un groupe d'utilisateur
Ce groupe pourra écrire dans le dossier des autres utilisateurs appartenant uniquement au même groupe.
Créons le groupe mon-groupe avec l'utilisateur toto et tata :
addgroup mon-groupe adduser home /home/toto shell /bin/false ingroup mon-groupe disabledpassword toto adduser home /home/tata shell /bin/false ingroup mon-groupe disabledpassword tata
Ne pas définir de shell est utilise dans le cas d'un utilisateur rattaché à un service vu qu'il ne nécessite pas d'un terminal.
- Créer un dossier qui sera accessible uniquement par les précédents utilisateurs et sans qu'ils y accèdent grâce au nom du groupe :
setfacl Rm u:toto:rwx /tmp/dossier_a_partager
Intervention temporaires
Il peut arriver que l'on souhaite donner certains droits/accès à un utilisateur de manière temporaire.
- Changer l'ID du groupe :
newgrp users
Avec la commande id on remarque ce changement
root@light:/home/light# newgrp users root@light:/home/light# id uid=0(root) gid=100(users) groupes=100(users),0(root)
Pour quiter le groupe :
exit
Ce qui nous donne :
root@light:/home/light# exit exit root@light:/home/light# id uid=0(root) gid=0(root) groupes=0(root)
- Executer une commande avec un autre ID de groupe :
sg toto 'touch fichier'
Modifier l'environnement de base des utilisateurs
- Il faut savoir que le dossier /etc/skel est utilisé pour personnaliser les environnements de travail des utilisateurs. Par exemple, lors de la création d'un fichier / dossier dans ce répertoire skel, ces données s'y trouvant sera présent lors de la création d'un utilisateur avec ses droits respectifs. Cette technique peut être intéressante si l'on personnalise le fichier .bashrc
- Comme le nom du dossier l'indique /etc/alternative contient des solutions alternatives grâce à des liens pointant vers des programmes installé sur la machines.
Par exemple, on demande à nos utilisateurs d'utiliser la commande suivante pour éditer un fichier :
editor fichier.txt
Par défaut, celui-ci s'ouvrira avec la paquet “nano”. Admettons que l'administrateur veut que ses utilisateurs utilisent “vim”. Il procédera alors de cette manière :
update-alternatives --set editor /bin/vim
S'il souhaite connaitre les éditeurs installé sur la machine, il peut lancer cette comande :
update-alternatives --list editor