Outils pour utilisateurs

Outils du site


command-line:linux:users

Utilisateurs et droits

Gestion d'utilisateurs

Quand une commande propose de spécifier l'utilisateur de façon facultative ([user]), cela signifie qu'en l'absence de ce paramètre, la commande sera appliquée sur l'utilisateur actuellement connecté.

useradd MonUser # créer un nouvel utilisateur
# -m pour créer le dossier home de cet utilisateur
# sans mot de passe = inactif
 
userdel # supprimer un utilisateur (et éventuellement son dossier)
users # afficher les utilisateurs actuellements connectés
groups [user] # afficher les groupes de l'utilisateur
id [user] # afficher l'id de l'utilisateur et ses groupes
 
sudo usermod -l newName oldName # modifier le login d'un utilisateur
sudo usermod -m -d newPath userName # déplacer le home d'un utilisateur
sudo usermod oldGroup -g newGroup # changer le groupe primaire d'un utilisateur
sudo groupmod -n newName oldName # modifier le nom d'un groupe
 
usermod -a -G groupName userName # ajouter l'utilisateur au groupe
usermod -g groupName userName # changer le groupe primaire de l'utilisateur
useradd -g groupName userName # ajouter un nouvel utilisateur et préciser son groupe primaire
useradd -G groupName userName # ajouter un nouvel utilisateur et préciser un groupe secondaire (existant)
 
sudo chage -l userName # afficher des informations sur la validité du mot de passe de l'utilisateur
passwd - userName # forcer l'utilisateur à changer son mot de passe 

Se faire passer pour d'autres : su et sudo

su userName # prendre l'identité d'un utilisateur (su = substitute / switch user)
users ; whoami  # après un su pour voir qui on est vraiment et pour qui on se fait passer
su -l userName # utiliser l'environnement de l'utilisateur plutôt que le notre lors du su
 
sudo -u userName commandName # exécuter une commande en tant que l'utilisateur spécifié
sudo commandName # exécuter une commande en tant que root (uid=0)
# sudo demande le mot de passe de l'utilisateur courant. Pour cela, celui-ci doit avoir les droits d'exécuter CETTE commande en tant que CET utilisateur spécifié
cat /etc/sudoers # afficher les droits de sudo actuellements définis sur cette machine

Gestion des droits

ls -l fileOrDirectoryName # afficher les infos (dont les droits) de ce fichier ou dossier
# résultat :
-rw-r--r-- 1 userName groupName 3771 mars   8 12:59 fileOrDirectoryName
|\_/\_/\_/ | \______/ \_______/ \__/ \____________/ \_________________/
| |  |  |  |     |        |       |         |                |
| |  |  |  |     |        |       |         |                ↳ nom du fichier
| |  |  |  |     |        |       |date et heure de dernière modification
| |  |  |  |     |        |       ↳  taille du fichier
| |  |  |  |     |        ↳ groupe propriétaire
| |  |  |  |     ↳ utilisateur propriétaire
| |  |  |  ↳ nombre de "hard links"
| |  |  ↳ droits du reste du monde (others)
| |  ↳ droits du groupe propriétaire
| ↳ droits de l'utilisateur prorpiétaire
↳ type de fichier

Types de fichier :

  • - : fichier classique
  • d : dossier
  • l : lien symbolique
  • c : périphérique en mode caractère (clavier, terminal, etc.)
  • b : périphérique en mode bloc (disques durs, etc.)
  • liste non-exhaustive

Changer les droits : chmod

# modèle de base en mode textuel :
chmod [u g o a] [+ - =] [r w x] fileName
# exemples :
chmod u+x fileName # donner le droit d'exécution à l'utilisateur propriétaire
chmod go-wx fileName # interdire les droits d'écriture et d'exécution au groupe propriétaire et aux autres
chmod a+r fileName # donner les droits de lecture à tout le monde
chmod u=rwx,g=rx,o=x # fixer les droits de chacun

FIXME ajouter ici une explication sur le mode octal.

Changer les propriétaires : chown

# modèle de base :
sudo chown [-R] [userName][:groupName] target1 [target2...]
# -R pour récursif (appliqué à un dossier : se transmet à tous ses fichiers, sous-dossiers, et ainsi de suite)
# exemples :
sudo chown -R bill . #rend bill propriétaire du dossier courant et de tout son contenu
sudo chown : www-data /var/www # rend le groupe www-data propriétaire du dossier spécifié, mais ne change pas son contenu
command-line/linux/users.txt · Dernière modification : le 05/05/2020 à 06:31 de Yosko