Les commandes Linux exécutent comme un autre utilisateur

Les commandes Linux exécutent comme un autre utilisateur

Linux est le système d'exploitation open source le meilleur et le plus utilisé. Les utilisateurs de Linux ont un grand nombre d'options pour choisir le système d'exploitation. Vous avez des options pour choisir le bureau pour vos systèmes Linux. Mais les professionnels de Linux aiment toujours la ligne de commande pour fonctionner. Principalement les éditions Linux Server sont livrées uniquement avec l'option de ligne de commande, ce qui les créent plus légers et plus rapides.

Les utilisateurs de Linux utilisent Shell pour interagir avec les systèmes d'exploitation. Dans lequel le bash (shell né) est le shell le plus utilisé et la valeur par défaut disponible sur la plupart des systèmes. Maintenant, Zsh (Z Shell) obtient également une popularité entre les utilisateurs en raison de ses fonctionnalités.

Dans ce tutoriel, vous apprendrez à exécuter la commande en tant qu'un autre utilisateur dans les systèmes Linux / Unix.

Commande en cours d'exécution comme un autre utilisateur avec su

La commande su (commutateur) est utilisée pour exécuter le shell comme un autre utilisateur. Cette commande passe au nouvel utilisateur et charge son environnement.

La commande SU de base ressemble ci-dessous:

Su - nom d'utilisateur  

La commande ci-dessus que vous à un autre utilisateur, où vous pouvez exécuter des commandes avec cet utilisateur. Mais notre objectif est d'exécuter la commande Linux comme un autre utilisateur sans y passer. Pour ce faire, vérifiez l'exemple ci-dessous.

Je suis actuellement connecté en tant qu'utilisateur racine. Vous pouvez transmettre votre commande avec -c paramètre. Maintenant, l'exemple ci-dessous exécutera la commande «LS» en tant qu'utilisateur Rahul sans passer à l'utilisateur.

Su - Rahul -C "Pwd"  Sortie: / Home / Rahul 

Vous pouvez également exécuter plusieurs commandes comme un autre utilisateur de Linux, comme:

Su - Rahul -C "Pwd; Mkdir Hello && cd Hello; Pwd"  Sortie: / Home / Rahul / Home / Rahul / Hello 

Dans la commande ci-dessus, les imprimés d'abord présentent le répertoire de travail avec PWD, puis créez et passe au nouveau répertoire nommé «Hello». Imprime à nouveau le répertoire de travail actuel. Toutes les commandes sont séparées avec un point-virgule (;) comme nous le faisons en général.

Exécuter la commande comme un autre utilisateur avec sudo

Ceci est généralement utilisé pour exécuter la commande en tant qu'utilisateur racine, mais vous pouvez également l'utiliser avec d'autres utilisateurs. Ici, vous n'avez pas besoin d'utiliser de commutateurs de ligne de commande. Entrez le nom de l'utilisateur à lequel vous souhaitez exécuter la commande. Après cela, la commande pour s'exécuter en tant qu'utilisateur défini.

Syntaxe:

Sudo -U Nom d'utilisateur [Commandes…] 

Par exemple, vous écrivez un script de shell, qui devait s'exécuter en tant qu'utilisateur non root. Mais vous devez redémarrer le service Apache2. Dans ce cas, vous pouvez utiliser Sudo pour exécuter la commande en tant qu'utilisateur racine. Comme:

sudo -u root 'systemctl redémarrer apache2'  

Exécuter la commande comme un autre utilisateur avec RunUser

Vous pouvez aussi utiliser runuser Pour exécuter les commandes comme un autre utilisateur dans Linux Systems. Ceci est des commandes moins connues des utilisateurs de Linux. Utilisez la commande runUser pour exécuter des commandes avec l'ID utilisateur effectif et l'ID de groupe de l'utilisateur défini.

Syntaxe:

runUser - nom d'utilisateur -c [commandes…] 

Exemple - Par exemple, exécutez une commande en tant qu'utilisateur «Rahul» et créez un répertoire dans son répertoire personnel.

RunUser - Rahul -C 'Mkdir -p ~ / Hello'  

Ensuite, listez les fichiers sous Home Directory de l'utilisateur «Rahul».

RunUser - Rahul -c 'ls -l'  Sortie:> Total 16 -rw-r - r-- 1 Rahul Rahul 8980 15 février 2020 Exemples.Desktop drwxr-xr-x 2 Rahul Rahul 4096 21 décembre 15:55 Bonjour 

Vous pouvez également exécuter des commandes de stand dans une seule commande. Il suffit d'ajouter plusieurs commandes avec un demi-colon séparé.

RunUser - Rahul -C 'Mkdir -P ~ / Hello; ls -l '  

Conclusion

Dans ce tutoriel, vous avez appris à exécuter des commandes en tant qu'un autre utilisateur dans le système Linux. Vous avez appris les commandes en cours d'exécution comme un autre utilisateur avec l'aide des commandes SU, Sudo et RunUser Linux.