Recherche de site Web

Différence entre su et sudo et comment configurer sudo sous Linux


Le Système Linux est bien plus sécurisé que n'importe lequel de ses homologues. L'un des moyens de mettre en œuvre la sécurité sous Linux consiste à définir une politique de gestion des utilisateurs et des autorisations utilisateur. Les utilisateurs normaux ne sont pas autorisés à effectuer des opérations sur le système.

Si un utilisateur normal doit effectuer des modifications à l'échelle du système, il doit utiliser la commande « su » ou « sudo ».

REMARQUE – Cet article s'applique davantage aux distributions basées sur Ubuntu, mais également à la plupart des distributions Linux populaires. distributions.

'su' contre 'sudo'

'su' vous oblige à partager votre mot de passe root avec d'autres utilisateurs alors que 'sudo' permet d'exécuter commandes système sans mot de passe root. 'sudo' vous permet d'utiliser votre propre mot de passe pour exécuter des commandes système, c'est-à-dire qu'il délègue la responsabilité du système sans mot de passe root.

Qu’est-ce que « sudo » ?

'sudo' est un binaire racine setuid, qui exécute les commandes root au nom des utilisateurs autorisés et les utilisateurs doivent entrer leur propre mot de passe pour exécuter commande système suivie de 'sudo'.

Qui peut exécuter « sudo » ?

Nous pouvons exécuter « /usr/sbin/visudo » pour ajouter/supprimer la liste des utilisateurs pouvant exécuter « sudo ».

sudo /usr/sbin/visudo

Une capture d'écran du fichier « /usr/sbin/visudo » ressemble à ceci :

La liste sudo ressemble par défaut à la chaîne ci-dessous :

root ALL=(ALL) ALL

Remarque : Vous devez être root pour modifier /usr/sbin/visudo déposer.

Accorder l'accès sudo

Dans de nombreuses situations, l'administrateur système, particulièrement nouveau dans le domaine, trouve la chaîne « root ALL=(ALL) ALL » comme modèle et accorde un accès illimité aux autres personnes qui peuvent être potentiellement très nocif.

Modifier le fichier '/usr/sbin/visudo' en quelque chose comme le modèle ci-dessous peut vraiment être très dangereux, à moins que vous ne croyiez complètement tous les utilisateurs répertoriés.

root ALL=(ALL) ALL
adam ALL=(ALL) ALL
tom ALL=(ALL) ALL
mark ALL=(ALL) ALL

Paramètres de sudo

Un 'sudo' correctement configuré est très flexible et le nombre de commandes à exécuter peut être configuré avec précision.

La syntaxe de la ligne « sudo » configurée est :

User_name Machine_name=(Effective_user) command

La syntaxe ci-dessus peut être divisée en quatre parties :

  1. User_name : il s'agit du nom de l'utilisateur « sudo ».
  2. Machine_name : il s'agit du nom d'hôte dans lequel la commande « sudo » est valide. Utile lorsque vous avez beaucoup de machines hôtes.
  3. (Effective_user) : « Utilisateur effectif » autorisé à exécuter les commandes. Cette colonne vous permet d'autoriser les utilisateurs à exécuter des commandes système.
  4. Commande : commande ou ensemble de commandes que l'utilisateur peut exécuter.

Lecture suggérée : 10 configurations Sudoers utiles pour définir « sudo » sous Linux

Certaines situations et leur ligne « sudo » correspondante :

Q1. Vous disposez d'une marque d'utilisateur qui est un administrateur de base de données. Vous êtes censé lui fournir tous les accès sur le serveur de base de données (beta.database_server.com) uniquement, et sur aucun hôte.

Pour la situation ci-dessus, la ligne « sudo » peut être écrite comme :

mark beta.database_server.com=(ALL) ALL

Q2. Vous avez un utilisateur 'tom' qui est censé exécuter la commande système en tant qu'utilisateur autre que root sur le même serveur de base de données, expliqué ci-dessus.

Pour la situation ci-dessus, la ligne « sudo » peut être écrite comme :

mark beta.database_server.com=(tom) ALL

Q3. Vous avez un utilisateur sudo 'cat' qui est censé exécuter la commande ' chien' seulement.

Pour implémenter la situation ci-dessus, nous pouvons écrire « sudo » sous la forme :

mark beta.database_server.com=(cat) dog

Q4. Que se passe-t-il si l'utilisateur doit recevoir plusieurs commandes ?

Si le nombre de commandes que l'utilisateur est censé exécuter est inférieur à10, nous pouvons placer toutes les commandes à côté, avec un espace blanc entre elles, comme indiqué ci-dessous :

mark beta.database_server.com=(cat) /usr/bin/command1 /usr/sbin/command2 /usr/sbin/command3 ...

Si cette liste de commandes varie dans une plage où il n'est littéralement pas possible de saisir chaque commande manuellement, nous devons utiliser des alias. Alias! Oui, l'utilitaire Linux où une commande longue ou une liste de commandes peut être considérée comme un mot-clé petit et simple.

Quelques exemples alias, qui peuvent être utilisés à la place de l'entrée dans le fichier de configuration « sudo ».

User_Alias ADMINS=tom,jerry,adam
user_Alias WEBMASTER=henry,mark
WEBMASTERS WEBSERVERS=(www) APACHE
Cmnd_Alias PROC=/bin/kill,/bin/killall, /usr/bin/top

Il est possible de spécifier un Groupes système, à la place des utilisateurs, qui appartient à ce groupe en suffixant simplement « % » comme ci-dessous :

%apacheadmin WEBSERVERS=(www) APACHE

Q5. Que diriez-vous d'exécuter une commande « sudo » sans saisir de mot de passe ?

Nous pouvons exécuter une commande « sudo » sans saisir de mot de passe en utilisant l'indicateur « NOPASSWD ».

adam ALL=(ALL) NOPASSWD: PROCS

Ici, l'utilisateur « adam » peut exécuter toutes les commandes alias sous « PROCS », sans entrer de mot de passe.

Lecture suggérée : Laissez Sudo vous insulter lorsque vous saisissez un mot de passe incorrect

« sudo » vous offre un environnement robuste et sûr avec beaucoup de flexibilité par rapport à « su ». De plus la configuration « sudo » est simple. Certaines distributions Linux ont « sudo » activé par défaut, tandis que la plupart des distributions actuelles nécessitent que vous l'activiez comme mesure de sécurité.

Pour ajouter un utilisateur (bob) à sudo, exécutez simplement la commande ci-dessous en tant que root.

adduser bob sudo

C'est tout pour le moment. Je reviendrai ici avec un autre article intéressant. D’ici là, restez à l’écoute et connecté à Tecmint. N'oubliez pas de nous faire part de vos précieux commentaires dans notre section commentaires.