Que fait Su à Linux et comment l'utiliser?

Que fait Su à Linux et comment l'utiliser?
L'Unix / Linux su (Substitut) La commande permet aux utilisateurs de devenir d'autres utilisateurs. On pensait que cette commande augmentait les privilèges en devenant un utilisateur privilégié; Par conséquent, l'utilisateur par défaut est la racine si aucun utilisateur n'est spécifié.

En exécutant la commande SU, vous pouvez devenir root ou passer à tout autre utilisateur. Ce tutoriel explique tout su les usages et les différences avec le Sudo commande.

Comme dit précédemment, si vous exécutez le su Commande sans utilisateur, vous deviendrez root par défaut, comme le montre la capture d'écran ci-dessous.

su

Si vous exécutez le su commande suivie d'un utilisateur, vous deviendrez cet utilisateur. Naturellement, si vous êtes racine lorsque vous exécutez su, On ne sera pas invité à taper le mot de passe de l'utilisateur.

su

Comme vous pouvez le voir dans l'exemple ci-dessus, l'utilisateur est passé de root à l'utilisateur spécifié linuxhint. Pourtant, le répertoire actuel reste. Vous pouvez implémenter le -l Indicateur pour modifier le répertoire actuel du répertoire domestique de l'utilisateur cible, vous déplaçant automatiquement du répertoire actuel à la maison de l'utilisateur.

su -l

Lors de la mise en œuvre du -l Flag, pas seulement le répertoire actuel change. Les autres caractéristiques de ce drapeau sont:

  • Les variables d'environnement sont éliminées à l'exception du terme variable pour la manipulation du terminal et les variables de liste blanche.
  • Charge les variables d'environnement utilisateur, logname, maison, shell et chemin.
  • Transforme la coquille en un shell de connexion.
  • Modifie le répertoire actuel de la maison de l'utilisateur cible.

Une autre façon de reproduire le même comportement est de remplacer le -l drapeau pour juste un trait d'union (-), comme indiqué ci-dessous.

su -

Comme vous pouvez le voir, l'utilisateur a changé ainsi que le répertoire actuel.

Le su La commande peut être utilisée pour exécuter les commandes comme un autre utilisateur. Comme indiqué dans les exemples ci-dessous, l'ajout de l'indicateur -c (commande) vous permet d'exécuter des commandes avec des privilèges sans se transformer en racine.

Tout d'abord, voyons ce qui se passe si nous essayons de lire le contenu du répertoire racine sans être root:

Comme vous pouvez le voir, l'utilisateur n'a aucune autorisation pour lire le répertoire racine. Comme indiqué ci-dessous, cela peut être fait avec la commande su avec l'indicateur -c (commande).

SU -C 'LS / ROOT' Root

Comme vous le voyez dans la syntaxe, vous devez invoquer la commande SU avec le -c Flag, suivi des commandes que vous souhaitez exécuter entre les guillemets et suivie de l'utilisateur que vous souhaitez exécuter la commande car, dans ce cas, l'utilisateur racine.

Le runuser commande:

Il existe une alternative pour le su commande nommée runuser. La différence entre ces deux commandes est que RunUser ne peut être utilisé que par la racine. La commande runUser ne demande pas de mot de passe, et il a une configuration PAM (modules d'authentification Linux enfichable).

Comme vous le savez peut-être, faire fonctionner les navigateurs comme racine est interdit, une mauvaise pratique; Votre système doit vous empêcher de faire cela.

Si vous êtes root et que vous souhaitez lancer une application dangereuse comme racine, vous pouvez utiliser à la fois le su commande, suivi du -c drapeau comme expliqué précédemment, ou le runuser Commande indiquée dans l'exemple ci-dessous, suivi du -u Flag, l'utilisateur que vous souhaitez exécuter la commande comme et la commande que vous souhaitez exécuter.

RunUser -u Linuxhint Firefox

Le Sudo commande:

Le Sudo La commande est l'alternative la plus utilisée pour exécuter les commandes en tant qu'utilisateur privilégié. C'est une méthode limitée pour obtenir des privilèges. Lorsque vous utilisez Sudo, vous ne deviendrez pas root, mais vous obtiendrez la permission d'exécuter une commande spécifique.

Lorsque vous utilisez le précédemment expliqué su commande, vous devez remplir le mot de passe de l'utilisateur cible. Lorsque vous utilisez Sudo, au lieu de taper le mot de passe utilisateur cible, vous devez taper le mot de passe utilisateur actuel; Si l'utilisateur est dans le Sudo groupe, il pourra exécuter la commande; Si l'utilisateur n'est pas dans le Sudo groupe, il ne pourra pas.

Exécuter une commande en tant que sudo est assez simple; Tapez simplement sudo avant la commande comme indiqué ci-dessous.

sudo ls / root

Pour qu'un utilisateur puisse exécuter des commandes avec sudo, vous devez l'ajouter au groupe sudoers. Pour ajouter un utilisateur au groupe sudoers, exécutez la commande suivante.

usermod -ag sudo

Maintenant, l'utilisateur peut exécuter des commandes nécessitant des privilèges en tapant Sudo.

Conclusion:

Les commandes SU, RunUser et Sudo sont faciles à implémenter et sont parmi les commandes Linux les plus élémentaires que tout utilisateur doit connaître. Apprendre à utiliser ces commandes augmentera la sécurité du côté utilisateur (le plus vulnérable). Le préfixe sudo pour les commandes privilégiées est la meilleure alternative pour assurer la sécurité de votre système. Certaines distributions Linux désactivent automatiquement la connexion racine, laissant Sudo comme méthode par défaut.

J'espère que ce tutoriel montre ce que fait la commande SU et comment l'implémenter a été utile. Continuez à suivre ce blog pour plus de conseils et de tutoriels Linux.