OrdinAide

Sur la gestion des utilisateurs...

Création d'un utilisateur

Deux commandes sont utilisables pour créer des comptes d'utilisateurs : adduser et useradd. La différence est que
- adduser est une commande interactive : elle pose des questions aux quelles il faut répondre intéractivement.
- useradd est une commande non interactive, on peut s'en servir dans un script.
Basiquement, on n'utilise que adduser, qui fait bien plus de choses que useradd (à laquelle elle fait appel de toutes façons, après s'être fait préciser les paramètres utiles intéractivement, justement).

Attention Pour l'utiliser, il faut être connecté en tant que root (plusieurs expériences sous sudo n'ont pas suffit...)

adduser

Exemple :
  • adduser tomer -p Liux12345
  • mais sur l'installation minimale de débian, ne connait pas l'option -p...
    adduser bibi 
  • adduser --system tomcat5

Voir http://manpages.ubuntu.com/manpages/hardy/fr/man8/adduser.8.html qui décrit comment créer un utilisateur "système" (ie: sans "home")

useradd

Voir http://ww2.ac-creteil.fr/reseaux/systemes/linux/comptes-utilisateurs.html qui décrit les commandes de base pour la création, et la gestion des groupe et des utilisateurs.

more /etc/passwd

/etc/passwd est le fichier de la liste des utilisateurs, qui comprend 7 champs séparés par le symbole “:” :
1.- nom de connexion,
2.- ancienne place du mot de passe crypté (remplacé par le caractère x)
3.- numéro d'identifiant (uid - celui de root est 0, à partir de 500 pour les autres),
4.- numéro de groupe (gid),
5.- nom complet, suivi d'informations personnelles facultatives (nom et prénom, numéro de bureau, n° de tel... )
6.- rép. personnel (c'est également le rép. de connexion)
7.- shell, interprétateur de commandes (par défaut /bin/bash, mais l'utilisateur peut l'avoir changé)

Droits "root" et commande sudo

Sudo est une commande qui permet d’accorder à certains utilisateurs (ou groupes d’utilisateurs) la possibilité de lancer une commande en tant qu’administrateur, ou comme autre utilisateur, tout en conservant une trace des commandes saisies et des arguments.

Debian à l’inverse d’Ubuntu n’est pas nativement configuré pour utiliser Sudo, le compte "root" est préféré pour les taches d’administration.

apt-get
(sur Débian)
Suivre le guide http://www.demongeot.biz/tutos/Sudo.html
Exemple :
  • pour mettre à jour la liste des paquets disponibles
    apt-get update 
  • pour simuler ce qui serait installé (ici, les paquets des programmes pour pouvoir faire "sudo")
    apt-get -s install sudo
  • pour installer réellement (ici, idem pour pouvoir faire "sudo")
    apt-get install sudo

Dans le cas de l'installation de sudo, il faut ensuite le configurer.
En résumé, cela consiste à éditer le fichier /etc/sudoers, dans lequel, en particulier, on peut explicitement désigner des utilisateurs à autoriser. Cependant ce n'est pas le moyen le plus pratique de donner ce droit à des utilisateurs : il vaut mieux les ajouter au groupe "sudo", comme cela est expliqué plus loin, dans la rubrique sudoers.
Voir http://guide.andesi.org/html/ksudo.html qui décrit les 4 parties de ce fichier et la syntaxe de son contenu. Exemple de tel fichier après modification :

# Host alias specification

# User alias specification
User_Alias STAFF=gaelle,barnabe,chris

# Cmnd alias specification
Cmnd_Alias NET=/bin/ping,/usr/bin/traceroute,/usr/bin/ftp,/usr/bin/nmap

# User privilege specification
root ALL=(ALL) ALL
STAFF ALL=(ALL) NET
  • pour déinstaller sudo
    apt-get remove sudo
  • pour supprimer toute trace du package précédement installé
    apt-get remove --purge 

Une fois "sudo" installé, il faut être connecté en "root" pour exécuter certaines applications "sensibles", comme par exemple useradd et a fortiori adduser.

sudoers
Pour autoriser l'accès seulement à certains groupes (par défaut, au groupe sudo), il faut définir des utilisateurs et leur ajouter l'appartenance au groupe en question, ce qui se fait dans une fenêtre de commande, (voir http://www.cyberciti.biz/faq/howto-linux-add-user-to-group/)
  • si e groupe sudo n'existe pas encore, il faut le créer par
    groupadd sudo
  • après avoir regardé la liste des groupes auxquels appartient un utilisateur par
    groups
  • par
    usermod -G sudo,staff login
  • enfin, ajouter une ligne au fichier /etc/sudoers pour que les utilisateurs du groupe sudo puisse utiliser la commande sudo :
    # User privilege specification
    sudo ALL=(ALL) ALL

Si on a assez de "privilèges" (ou "droits") pour pouvoir être autorisé à les exécuter, ou si on connait le mot de passe d'un utilisateur dont le compte a des droits "root" on peut faire exécuter certaines commandes sensible :

  • soit en faisant précéder la commande désirée par la commande sudo, ce qui permet d'exécuter plusieurs commandes dans un court laps de temps,
  • soit se loguer sous le compte root avec la commande su, dont on sortira une fois tous les traitements sensibles terminés par la commande exit.

On voit qu'on est "root" parce que la colorisation des commandes et des résultats dans la fenêtre Terminale est différente :

  • il n'y a plus de colorisation en mode "root",
  • le caractère d'invite passe de $ à # .

    passwd
    Par exemple, on peut :
    • désactiver le compte root car nous n’en avons plus besoin.
      passwd -l root
    • réactiver le compte root
      passwd -u root

    Liens utiles