Niveau : Admin Junior | Numéro de la Leçon | Dernière Modification |
---|---|---|
2/4 | <progrecss 1/12 style=inline /> | 2020/01/30 03:28 |
La bonne gestion des utilisateurs passe par une bonne stratégie de groupes. En effet, chaque utilisateur est affecté à un groupe principal mais il peut aussi être membre d'un ou de plusieurs groupes secondaires.
Comme dans d'autres systèmes d'exploitation, sous Linux il est préférable de donner les droits d'accès aux groupes et non aux utilisateurs individuels.
<note important> Afin de mettre en pratique les exemples dans cette unité, vous devez vous connecter à votre système en tant que root grâce à la commande su - et le mot de passe fenestros. </note>
Pour lister les groupes existants sur le système, saisissez la commande suivante :
opensuse:~ # cat /etc/group at:!:25: audio:x:17:pulse avahi:!:105: bin:x:1:daemon cdrom:x:20: console:x:21: daemon:x:2: dialout:x:16: disk:x:6: floppy:x:19: ftp:x:49: games:x:40: gdm:!:109: kmem:x:9: lock:x:54: lp:x:7: mail:x:12: maildrop:!:59: man:x:62: messagebus:!:104: modem:x:43: news:x:13: nobody:x:65533: nogroup:x:65534:nobody ntadmin:!:71: ntp:!:103: postfix:!:51: public:x:32: pulse:!:107: pulse-access:!:108: root:x:0: rtkit:!:106: shadow:x:15: sshd:!:102: sys:x:3: tape:!:101: trusted:x:42: tty:x:5: utmp:x:22: uucp:x:14: video:x:33: wheel:x:10:trainee www:x:8: xok:x:41: users:x:100: vboxsf:!:1000:
<note important> Notez que la valeur du GID ( Group ID ) de root est de 0 et que les GID des utilisateurs normaux est de 100 ( voir trainee ). </note>
Dans ce fichier, chaque ligne est constituée de 4 champs :
Afin de vérifier les fichiers /etc/group pour des erreurs éventuelles, saisissez la commande suivante :
opensuse:~ # grpck -r Checking `/etc/group'
<note important> L'option -r permet la vérification des erreurs sans le modifier. </note>
Dans le cas où il est nécessaire de régénérer un des deux fichiers, il convient d'utiliser un des deux commandes suivantes :
Pour lister les comptes utilisateur existants sur le système, saisissez la commande suivante :
opensuse:~ # cat /etc/passwd at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash avahi:x:103:105:User for Avahi:/var/run/avahi-daemon:/bin/false bin:x:1:1:bin:/bin:/bin/bash daemon:x:2:2:Daemon:/sbin:/bin/bash dnsmasq:x:102:65534:dnsmasq:/var/lib/empty:/bin/false ftp:x:40:49:FTP account:/srv/ftp:/bin/bash games:x:12:100:Games account:/var/games:/bin/bash gdm:x:107:109:Gnome Display Manager daemon:/var/lib/gdm:/bin/false lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash messagebus:x:101:104:User for D-Bus:/var/run/dbus:/bin/false news:x:9:13:News system:/etc/news:/bin/bash nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash ntp:x:74:103:NTP daemon:/var/lib/ntp:/bin/false postfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/false pulse:x:105:107:PulseAudio daemon:/var/lib/pulseaudio:/sbin/nologin root:x:0:0:root:/root:/bin/bash rtkit:x:104:106:RealtimeKit:/proc:/bin/false sshd:x:100:102:SSH daemon:/var/lib/sshd:/bin/false statd:x:106:65534:NFS statd daemon:/var/lib/nfs:/sbin/nologin usbmux:x:108:65534:usbmuxd daemon:/var/lib/usbmuxd:/sbin/nologin uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false trainee:x:1000:100:trainee:/home/trainee:/bin/bash vboxadd:x:109:1::/var/run/vboxadd:/bin/false
<note important> Notez que la valeur de l'UID de root est de 0 et que les UID des utilisateurs normaux commencent à 1000. Les UID des comptes système sont inclus entre 100 et 499. </note>
Chaque ligne dans ce fichier est constituée de 7 champs :
Pour consulter le fichier /etc/shadow, saisissez la commande suivante :
opensuse:~ # cat /etc/shadow at:*:15111:0:99999:7::: avahi:*:15035:0:99999:7::: bin:*:15035:::::: daemon:*:15035:::::: dnsmasq:*:15035:0:99999:7::: ftp:*:15035:::::: games:*:15035:::::: gdm:*:15035:0:99999:7::: lp:*:15035:::::: mail:*:15035:::::: man:*:15035:::::: messagebus:*:15035:0:99999:7::: news:*:15035:::::: nobody:*:15035:::::: ntp:*:15035:0:99999:7::: postfix:*:15035:0:99999:7::: pulse:*:15035:0:99999:7::: root:$2a$05$vjaGlr9oXOAbGv1rwcoYn.zd59GevXgDrPPESbsikCTwrnvMfctBS:15111:::::: rtkit:*:15035:0:99999:7::: sshd:*:15035:0:99999:7::: statd:*:15035:0:99999:7::: usbmux:*:15111:0:99999:7::: uucp:*:15035:::::: wwwrun:*:15035:::::: trainee:$2a$05$KZSJtWwMIvyLcQJuxTbaHuXWokuhYVSSBp.yqUa606iGgTrpaY7R.:15111:0:99999:7::: vboxadd:*:15183:0:99999:7:::
Chaque ligne dans ce fichier est constituée de 8 champs :
Afin de vérifier les fichiers /etc/passwd et /etc/shadow pour des erreurs éventuelles, saisissez la commande suivante :
opensuse:~ # pwck -r Checking `/etc/passwd' User `pulse': directory `/var/lib/pulseaudio' does not exist. User `usbmux': directory `/var/lib/usbmuxd' does not exist. User `vboxadd': directory `/var/run/vboxadd' does not exist. Checking `/etc/shadow'.
<note important> Les erreurs ci-dessus ne sont pas importantes. Elles sont dues au fait que les répertoires de connexion de certains comptes systèmes ne sont pas créés par le système lors de la création des comptes et ceci justement pour éviter la possibilité qu'un pirate ou un hacker puisse se connecter au système en utilisant le compte concerné. Encore une fois, l'option -r permet la vérification des erreurs dans sans le modifier. </note>
Dans le cas où il est nécessaire de régénérer un des deux fichiers, il convient d'utiliser une des deux commandes suivantes :
Cette commande est utilisée pour créer un groupe.
opensuse:~ # groupadd --help Usage: groupadd [-D binddn] [-g gid [-o]] [-r] [-P path] [-p password] group groupadd - create a new group -D binddn Use dn "binddn" to bind to the LDAP directory -g gid Force the new groupid to be the given number -o Allow duplicate (non-unique) UID -P path Search passwd, shadow and group file in "path" -p password Encrypted password as returned by crypt(3) -r, --system Create a system account --service srv Add account to nameservice 'srv' --help Give this help list --usage Give a short usage message -v, --version Print program version Valid services for --service are: files, ldap
Cette commande est utilisée pour supprimer un groupe.
opensuse:~ # groupdel --help Usage: groupdel [-D binddn] [-P path] group groupdel - delete a group -D binddn Use dn "binddn" to bind to the LDAP directory -P path Search passwd, shadow and group file in "path" --service srv Add account to nameservice 'srv' --help Give this help list -u, --usage Give a short usage message -v, --version Print program version Valid services for --service are: files, ldap
Cette commande est utilisée pour modifier un groupe existant.
opensuse:~ # groupmod --help Usage: groupmod [-g gid [-o]] [-n new_name] group groupmod - modify a group entry -D binddn Use dn "binddn" to bind to the LDAP directory -g gid Change the groupid to the given number -k skeldir Specify an alternative skel directory -n name Change group name. -o Allow duplicate (non-unique) UID -P path Search passwd, shadow and group file in "path" -p password Encrypted password as returned by crypt(3) -A user Add the user to the group entry -R user Remove the user from the group entry --service srv Use nameservice 'srv' --help Give this help list --usage Give a short usage message -v, --version Print program version Valid services are: files, ldap
Cette commande est utilisée pour modifier le groupe de l'utilisateur qui l'invoque.
opensuse:~ # newgrp --help Usage: newgrp [-l|-c command] [group] newgrp - change the effective group id -l, --login reinitialize environment as if logged in -c command Execute `command' with new group --help Give this help list -u, --usage Give a short usage message -v, --version Print program version
Cette commande est utilisée pour modifier administrer le fichier /etc/group.
opensuse:~ # gpasswd --help Usage: gpasswd [-r|-l|-u] group gpasswd - change group password -r Remove the password for this group -l Locks the password entry for "group" -u Try to unlock the password entry for "group" --service srv Use nameservice 'srv' -D binddn Use dn "binddn" to bind to the LDAP directory -P path Search group file in "path" --help Give this help list --usage Give a short usage message --version Print program version --stdin Receive input from stdin instead of /dev/tty Valid services for -r are: files, nis, nisplus, ldap
Cette commande est utilisée pour utilisée pour ajouter un utilisateur.
Les codes retour de la commande useradd sont :
Code Retour | Description |
---|---|
1 | Impossible de mettre à jour le fichier /etc/passwd |
2 | Syntaxe invalide |
3 | Option invalide |
4 | L'UID demandé est déjà utilisé |
6 | Le groupe spécifié n'existe pas |
9 | Le nom d'utilisateur indiqué existe déjà |
10 | Impossible de mettre à jour le fichier /etc/group |
12 | Impossible de créer le répertoire personnel de l'utilisateur |
13 | Impossible de créer le spool mail de l'utilisateur |
opensuse:~ # useradd --help Usage: useradd ... useradd - create a new user -c comment Set the GECOS field for the new account --show-defaults Print default values --save-defaults Save modified default values -D binddn Use dn "binddn" to bind to the LDAP directory -d homedir Home directory for the new user -e expire Date on which the new account will be disabled -f inactive Days after a password expires until account is disabled -G group,... List of supplementary groups -g gid Name/number of the users primary group -k skeldir Specify an alternative skel directory -m Create home directory for the new user -o Allow duplicate (non-unique) UID -P path Search passwd, shadow and group file in "path" -p password Encrypted password as returned by crypt(3) -u uid Force the new userid to be the given number -U umask Umask value used for creating home directory -r, --system Create a system account -s shell Name of the user's login shell --service srv Add account to nameservice 'srv' --help Give this help list --usage Give a short usage message -v, --version Print program version Valid services for --service are: files, ldap
Cette commande est utilisée pour utilisée pour supprimer un utilisateur.
opensuse:~ # userdel --help Usage: userdel [-D binddn] [-P path] [-r [-f]] user userdel - delete a user and related files -r Remove home directory and mail spool -f Force removal of files, even if not owned by user -D binddn Use dn "binddn" to bind to the LDAP directory -P path Search passwd, shadow and group file in "path" --service srv Add account to nameservice 'srv' --help Give this help list -u, --usage Give a short usage message -v, --version Print program version Valid services for --service are: files, ldap
Cette commande est utilisée pour utilisée pour modifier un utilisateur existant.
opensuse:~ # usermod --help Usage: usermod ... usermod - modify a user account -c comment Set the GECOS field for the new account -D binddn Use dn "binddn" to bind to the LDAP directory -d homedir Home directory for the new user -e expire Date on which the new account will be disabled -f inactive Days after a password expires until account is disabled -G group,... List of supplementary groups -g gid Name/number of the users primary group -l login Change login name. -m Move home directory to the new path -o Allow duplicate (non-unique) UID -A group,... List of groups the user should be added to -R group,... List of groups the user should be removed from -P path Search passwd, shadow and group file in "path" -p password Encrypted password as returned by crypt(3) -s shell Name of the user's login shell -u uid Change the userid to the given number --service srv Use nameservice 'srv' -L Locks the password entry for "user" -U Try to unlock the password entry for "user" --help Give this help list --usage Give a short usage message -v, --version Print program version Valid services are: files, ldap
Cette commande est utilsée pour créer ou modifier le mot de passe d'un utilisateur.
opensuse:~ # passwd --help Usage: passwd [-f|-g|-s|-k[-q]] [account] passwd [-D binddn] [-n min] [-x max] [-w warn] [-i inact] account passwd {-l|-u|-d|-S[-a]|-e} account passwd --stdin [account] passwd - change password information -f Change the finger (GECOS) information -s Change the login shell -g Change the group password -k Change the password only if expired -q Try to be quiet -S Show the password attributes -a Only with -S, show for all accounts -d Delete the password for the named account -l Locks the password entry for "account" -u Try to unlock the password entry for "account" -e Force the user to change password at next login -n min Set minimum field for "account" -x max Set maximum field for "account" -w warn Set warn field for "account" --service srv Use nameservice 'srv' -D binddn Use dn "binddn" to bind to the LDAP directory -P path Search passwd and shadow file in "path" --stdin Read new password from stdin (root only) --help Give this help list --usage Give a short usage message --version Print program version Valid services are: files, nis, nisplus, ldap
La commande useradd est configurée par le fichier /etc/default/useradd. Pour consulter ce fichier, saisissez la commande suivante :
opensuse:~ # cat /etc/default/useradd GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel GROUPS=video CREATE_MAIL_SPOOL=no UMASK=022
Dans ce fichier, nous trouvons les directives suivantes :
Cette même information peut être visualisée en utilisant la commande useradd :
opensuse:~ # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel GROUPS=video CREATE_MAIL_SPOOL=no UMASK=022
Pour consulter la liste des fichiers dans /etc/skel, saisissez la commande suivante :
opensuse:~ # ls -la /etc/skel total 60 drwxr-xr-x 6 root root 4096 May 17 2011 . drwxr-xr-x 115 root root 12288 Dec 9 09:54 .. -rw------- 1 root root 0 May 18 1996 .bash_history -rw-r--r-- 1 root root 1177 Feb 27 2011 .bashrc -rw-r--r-- 1 root root 1637 Feb 15 2010 .emacs drwxr-xr-x 2 root root 4096 Feb 18 2011 .fonts -rw-r--r-- 1 root root 861 May 19 2006 .inputrc drwxr-xr-x 2 root root 4096 Feb 18 2011 .mozilla -rw-r--r-- 1 root root 1028 Feb 27 2011 .profile -rw-r--r-- 1 root root 1002 Feb 22 2011 .vimrc -rw-r--r-- 1 root root 1940 Feb 18 2011 .xim.template -rwxr-xr-x 1 root root 1455 Apr 6 2011 .xinitrc.template drwxr-xr-x 2 root root 4096 Feb 18 2011 bin drwxr-xr-x 2 root root 4096 Mar 2 2011 public_html
Pour connaitre l'UID, le GID et l'appartenance aux groupes d'un utilisateur, il convient d'utiliser la commande id. Saisissez la commande suivante :
opensuse:~ # id trainee uid=1000(trainee) gid=100(users) groups=100(users),10(wheel)
Pour seulement connaître les groupes d'un utilisateur, il convient d'utiliser la commande groups. Saisissez la commande suivante :
opensuse:~ # groups trainee trainee : users wheel
Les valeurs minimales de l'UID et du GID utilisés par défaut lors de la création d'un utilisateur sont stipulées dans le fichier /etc/login.defs :
... # # Min/max values for automatic uid selection in useradd # # SYSTEM_UID_MIN to SYSTEM_UID_MAX inclusive is the range for # UIDs for dynamically allocated administrative and system accounts. # UID_MIN to UID_MAX inclusive is the range of UIDs of dynamically # allocated user accounts. # SYSTEM_UID_MIN 100 SYSTEM_UID_MAX 499 UID_MIN 1000 UID_MAX 60000 # # Min/max values for automatic gid selection in groupadd # # SYSTEM_GID_MIN to SYSTEM_GID_MAX inclusive is the range for # GIDs for dynamically allocated administrative and system groups. # GID_MIN to GID_MAX inclusive is the range of GIDs of dynamically # allocated groups. # SYSTEM_GID_MIN 100 SYSTEM_GID_MAX 499 GID_MIN 1000 GID_MAX 60000 ...
Créez maintenant trois groupes groupe1, groupe2 et groupe3. La valeur du GID du groupe groupe3 doit être de 807 :
opensuse:~ # groupadd groupe1; groupadd groupe2; groupadd -g 807 groupe3
Créez maintenant trois utilisateurs fenestros1, fenestros2 et fenestros3. Les trois utilisateurs ont pour groupe principal groupe1, groupe2 et groupe3 respectivement. fenestros2 est aussi membre des groupes groupe1 et groupe3. fenestros1 à un GECOS de tux1 :
opensuse:~ # useradd -g groupe2 fenestros2; useradd -g 807 fenestros3; useradd -g groupe1 fenestros1 opensuse:~ # usermod -G groupe1,groupe3 fenestros2 opensuse:~ # usermod -c "tux1" fenestros1
En consultant votre fichier /etc/passwd, vous obtiendrez un résultat similaire à celui-ci:
opensuse:~ # cat /etc/passwd ... fenestros2:x:1001:1002::/home/fenestros2:/bin/bash fenestros3:x:1002:807::/home/fenestros3:/bin/bash fenestros1:x:1003:1001:tux1:/home/fenestros1:/bin/bash
En regardant votre fichier /etc/group, vous obtiendrez un résultat similaire à celui-ci:
opensuse:~ # cat /etc/group ... groupe1:!:1001:fenestros2 groupe2:!:1002: groupe3:!:807:fenestros2
Créez le mot de passe fenestros pour le groupe3 :
opensuse:~ # gpasswd groupe3 Changing the password for group groupe3. New Password: fenestros Re-enter new password: fenestros Password changed.
<note important> Notez que les mots de passe saisis ne seront pas visibles. </note>
Consultez le fichier /etc/group :
opensuse:~ # cat /etc/group ... groupe1:!:1001:fenestros2 groupe2:!:1002: groupe3:$1$dou68i4E$FNMKvHqm2SJv8kb8JbOCj0:807:fenestros2
<note important> Notez la présence du mot de passe crypté pour le groupe3. </note>
Devenez maintenant l'utilisateur fenestros1 grâce à la commande su et contrôlez les groupes de l'utilisateur :
opensuse:~ # su fenestros1 fenestros1@opensuse:/root> groups groupe1 video fenestros1@opensuse:/root> newgrp groupe3 Password: fenestros1@opensuse:/root> groups groupe3 groupe1 video
Rejoignez le groupe3 et contrôlez vos groupes :
fenestros1@opensuse:/root> newgrp groupe3 Password: fenestros fenestros1@opensuse:/root> groups groupe3 groupe1 video
Sortez du terminal de fenestros1 du groupe3 et contrôlez de nouveau vos groupes :
fenestros1@opensuse:/root> exit exit fenestros1@opensuse:/root> groups groupe1 video
<note important> Notez ce qui se passe quand fenestros1 saisit la commande newgrp en fournissant le mot de passe correct. Le système génère un terminal fils dans lequel le groupe principal de fenestros1 est devenu groupe3. Quand fenestros1 quitte le shell fils, son groupe principal redevient groupe1. </note>
Dernièrement, redevenez root :
fenestros1@opensuse:/root> exit exit opensuse:~ #
Essayez maintenant de supprimer le groupe groupe3 :
# groupdel groupe3 [Entrée]
Vous obtiendrez un résultat similaire à celui-ci :
opensuse:~ # groupdel groupe3 groupdel: GID `807' is primary group of `fenestros3'. groupdel: Cannot remove user's primary group.
<note important> En effet, vous ne pouvez pas supprimer un groupe tant qu'un utilisateur le possède comme son groupe principal. </note>
Supprimez donc l'utilisateur fenestros3 :
opensuse:~ # userdel fenestros3 no crontab for fenestros3
Ensuite essayez de supprimer le groupe groupe3 :
opensuse:~ # groupdel groupe3
<note important> Notez que cette fois-ci la commande est exécutée sans erreur. </note>
Le fait de supprimer un utilisateur sans l'option -r implique que le répertoire personnel de l'utilisateur demeurre sur la machine.
Dans notre cas les répertoires personnels des utilisateurs n'ont pas été créés parce que nous n'avons pas spécifié la création du répertoire lors de l'utilisation de la commande useradd.
Créez donc un utilisateur test en spécifiant la création de son répertoire personnel :
root@debian:~# useradd -m test
Vérifiez que l'utilisateur test a un répertoire personnel :
opensuse:~ # ls -l /home total 8 drwxr-xr-x 6 test users 4096 Dec 18 13:43 test drwxr-xr-x 35 trainee users 4096 Dec 18 13:27 trainee
Créez maintenant les répertoires personnels de fenestros1 et fenestros2 :
opensuse:~ # mkdir /home/fenestros1 /home/fenestros2
Copiez le contenu du répertoire /etc/skel dans les répertoires /home/fenestros1 et /home/fenestros2 :
opensuse:~ # cp -r /etc/skel/* /home/fenestros1 && cp -r /etc/skel/.[a-zA-Z]* /home/fenestros1 opensuse:~ # cp -r /etc/skel/* /home/fenestros2 && cp -r /etc/skel/.[a-zA-Z]* /home/fenestros2
Modifiez le propriétaire et le groupe pour les répertoires /home/fenestros1 et /home/fenestros2 :
opensuse:~ # chown -R fenestros1:groupe1 /home/fenestros1 opensuse:~ # chown -R fenestros2:groupe2 /home/fenestros2
Créez maintenant les mots de passe pour fenestros1 et fenestros2. Indiquez un mot de passe identique au nom du compte :
opensuse:~ # passwd fenestros1 Changing password for fenestros1. New Password: fenestros1 Bad password: it is based on a dictionary word Reenter New Password: fenestros1 Password changed. opensuse:~ # passwd fenestros2 Changing password for fenestros2. New Password: fenestros2 Bad password: it is based on a dictionary word Reenter New Password: fenestros2 Password changed.
<note important> Notez que les règles gouvernant l'utilisation des mots de passe ne sont pas appliqués aux utilisateurs créés par root. Notez aussi que les mots de passe saisis ne seront pas visibles. </note>
Vous allez maintenant devenir fenestros2, d'abord sans l'environnement de fenestros2 puis avec l'environnement de fenestros2.
Contrôlez votre répertoire courant de travail :
opensuse:~ # pwd /root
Pour devenir fenestros2 sans son environnement, saisissez la commande suivante :
opensuse:~ # su fenestros2
Contrôlez votre répertoire courant de travail :
fenestros2@opensuse:/root> pwd /root
Vous noterez que vous êtes toujours dans le répertoire /root. Ceci indique que vous avez gardé l'environnement de root.
<note important> L'environnement d'un utilisateur inclut donc, entre autre, le répertoire personnel de l'utilisateur ainsi que la valeur de la variable système PATH. </note>
Saisissez la commande suivante pour redevenir root :
fenestros2@opensuse:/root> exit exit
Saisissez la commande suivante pour redevenir fenestros2 :
opensuse:~ # su - fenestros2
Contrôlez votre répertoire courant de travail :
fenestros2@opensuse:~> pwd /home/fenestros2
Vous noterez que vous êtes maintenant dans le répertoire /home/fenestros2. Ceci indique que vous avez l'environnement de fenestros2.
<note important> Notez que root peut devenir n'importe quel utilisateur sans avoir besoin de connaître son mot de passe. </note>
La commande sudo permet à un utilisateur autorisé d'exécuter une commande en tant que root ou en tant qu'un autre utilisateur.. Lors de l'exécution de la commande, l'UID et le GID éffectifs et réels sont ceux de l'identité de l'utilisateur cible. L'utilisation de la commande sudo est une façon simple de déléguer des tâches administratives à d'autres utilisateurs sans communiquer le mot de passe de root et sans placer un SUID bit sur l'exécutable.
La commande sudo est configurée grâce au fichier /etc/sudoers. Saisissez la commande suivante :
opensuse:~ # cat /etc/sudoers # sudoers file. # # This file MUST be edited with the 'visudo' command as root. # Failure to use 'visudo' may result in syntax or file permission errors # that prevent sudo from running. # # See the sudoers man page for the details on how to write a sudoers file. # # Host alias specification # User alias specification # Cmnd alias specification # Defaults specification # Prevent environment variables from influencing programs in an # unexpected or harmful way (CVE-2005-2959, CVE-2005-4158, CVE-2006-0151) Defaults always_set_home Defaults env_reset # Change env_reset to !env_reset in previous line to keep all environment variables # Following list will no longer be necessary after this change Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE" # Comment out the preceding line and uncomment the following one if you need # to use special input methods. This may allow users to compromise the root # account if they are allowed to run commands without authentication. #Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER" # In the default (unconfigured) configuration, sudo asks for the root password. # This allows use of an ordinary user account for administration of a freshly # installed system. When configuring sudo, delete the two # following lines: Defaults targetpw # ask for the password of the target user i.e. root ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'! # Runas alias specification # User privilege specification root ALL=(ALL) ALL # Uncomment to allow people in group wheel to run all commands # %wheel ALL=(ALL) ALL # Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL # Samples # %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom # %users localhost=/sbin/shutdown -h now
<note important> Notez la présence de la ligne en commentaire # %wheel ALL=(ALL) ALL. Cette ligne possède le format Qui Où = (En tant que qui) Quoi. La ligne implique donc que les membres du groupe wheel peuvent exécuter à partir de n'importe quel hôte et en tant que n'importe quel utilisateur, toutes les commandes du système. Dans ce fichier donc, un groupe est référencé par un %. Un nom sans ce caractère est forcément un utilisateur. </note>
Pour éditer le fichier /etc/sudoers, il est nécessaire d'utiliser la commande visudo. Saisissez donc la commande suivante :
# visudo [Entrée]
Éditez la ligne suivante en ôtant le caractère # :
... #%wheel ALL=(ALL) ALL ...
Vous obtiendrez un résultat similaire à celui-ci :
... %wheel ALL=(ALL) ALL ...
Sauvegardez votre fichier.
<note important> A ce stade, root et les membres du groupe wheel peuvent administrer le système. </note>
~~DISCUSSION:off~~
{(rater>id=opensuse_11_l106|name=cette page|type=rate|trace=user|tracedetails=1)}