[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Ceci est une ancienne révision du document !


Permettre Sudo sur Slackware

Sudo, utilisateur de substitution de (Super User) ou Super user de (agissant comme un “super user”) Sudo, joue un rôle important sur les système UNIX ; sudo permet aux utilisateurs ordinaires de récupérer temporairement les privilèges d'un autre utilisateur ; il est largement utilisé pour les privilèges du super utilisateur root

Il y a beaucoup d'avantages et de désavantages d'utiliser sudo à la place de su, par exemple quelquefois nous avons besoin de faire une tâche rapidement, comme mettre à jour le système avec une seule commande , comme 'slackpkg update && slackpkg upgrade-all' ou simplement ouvrir un fichier qui a les permissions de lecture et d'écriture seulement pour root, par exemple

Mais chaque super heros paie son prix, comme sudo permet à l'utilisateur d'avoir temporairement des super pouvoirs, quelqu'un qui connait le mot de passe de votre utilisateur ordinaire peut aussi avoir ces super pouvoirs

C'est pourquoi il est extrêmement important que vous ayez un mot de passe fort pour root et pour votre utilisateur ordinaire afin que vous puissiez utiliser sudo en pleine confiance.

Contrairement à d'autres distributions, Slackware est livré par défaut sans activer sudo et nous allons voir comment l'activer.

La première étape est de créer un groupe appelé “sudo” ; nous pouvons faire cela de deux façons. La première est de créer manuellement un groupe et la seconde est d'utiliser la commande 'groupadd GROUPName'.

Nous utiliserons la méthode manuelle pour mieux apprendre et comprendre ce que nous faisons

Il faut tout d'abord se loger en tant que root, pour cela nous utilisons la commande su , et tout de suite après nous ouvrons un fichier de configuration des groupes /etc/group dans notre éditeur favori :

$ su
# nano /etc/group 

Naviguez jusqu'à la dernière ligne du fichier et ajoutez une ligne spéciale pour sudo ; ici la dernière ligne concernait le groupe privoxy mais la vôtre peut être différente :

privoxy:x:206:

Avec le même format, nous allons créer le groupe sudo : le format s'écrit comme ceci :

groupname:x:ID:USERNAME

Pour vérifier votre ID d'utilisateur, lancez la commande 'id -u'.

$ id -u
1000 

Finalement nous ajoutons à la fin du fichier /etc/group la ligne :

sudo:x:1000:Username

Exemple:

nobody:x:98:nobody
nogroup:x:99:
users:x:100:
console:x:101:
tor:x:220:
privoxy:x:206:
sudo:x:1000:slackjeff

Après avoir fait cela, sauvegardez le fichier et quittez l'éditeur.

Maintenant, il faut éditer le fichier 'sudoers' ; ouvrez le fichier /etc/sudoers dans votre éditeur favori.

# nano /etc/sudoers 

Ouvrez le fichier, trouvez la ligne #%sudo ALL=(ALL)ALL : cette ligne est commentée par le caractère '#' devant sudo; Il faut décommenter cette ligne en enlevant le '#'' qui est devant sudo

Ligne sudo commentée :

## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL) ALL 

Ligne sudo décommentée :

## Uncomment to allow members of group sudo to execute any command
%sudo ALL=(ALL) ALL 

Uncommented the line of sudo, save and close, to put the icing on the cake we need to make a last setting that is very important. We know that regular users have UID 1000, and some commands are special for the super user that contains UID 0, when we run a command the system looks in the $ PATH environment variable for the location of the command we ask.

There are directories like the example '/ sbin' which is accessible only with users of UID 0, an example is root itself. What happens if we try to execute a command like slackpkg for example that is inside directory? It will fail.

So we need to add two new lines to our PATH.

For this still as root user let's open the file 'profile' which is located in '/ etc / profile' and find the line:

# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"

Note that there is an established pattern, directories have their field separated by ':'. At the end of '/usr/games' we add ':' and we add '/sbin' and after that we add ':' again and '/usr/sbin'. Save and close.

# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/sbin:/usr/sbin"
Please note that your regular user (UID 1000) can now execute the maintenance commands that are found in /sbin and /usr/sbin, whereas before these commands in these directories were not even 'shown' to a regular user (UID). 1000). But even now seeing these commands we will need the super user to continue.

Simply put, it is the same as giving a read permission to a file, for a given user it can read but cannot write or execute, for example.

Reboot your system with the shutdown command with parameters -r now, or simply exit your user and return so that you can execute the exit command or simultaneously press the CTRL + D keys.

Run tests by adding sudo in front of the desired command (s). Also test by updating your list and checksuns with slackpkg.

$ sudo ls /root/
$ sudo slackpkg update

Sources

 fr:howtos:misc:enabling_sudo_on_slackware ()