web-dev-qa-db-fra.com

Comment exécuter une commande en tant qu'administrateur système (root)

J'ai besoin d'exécuter une commande avec des privilèges administratifs. Quelqu'un a dit que je devrais exécuter une commande en tant que root. Comment puis-je faire cela?

66
Stefan

Utilisez su:

$ su -c command

ou

$ su
# command
# exit

Dans les deux cas, vous serez invité à saisir le mot de passe root. Pour plus d'informations, consultez la page de manuel .

8
Steven D

Ou vous pouvez donner à certaines commandes une superpuissance. Je parle d'autorisations spéciales dans lesquelles les commandes sont exécutées avec l'autorisation du propriétaire.

Obtenez le chemin de la commande par #which <command> et définissez SUID ou SGID pour ce chemin.

P.S. - Les bits SUID et SGID doivent être donnés avec précaution. Ils peuvent rendre votre système peu sûr.

3
Ayush Goyal

Étant donné que la question n'était pas spécifique à Linux, voici comment vous atteignez le même objectif dans Solaris 9+ (ou Trusted Solaris 8):

Solaris, depuis la version 9, a inclus une suite d'outils affectueusement appelés RBAC, ou Role Based Access Control.

L'essentiel de RBAC est que grâce à l'octroi d'autorisations et de droits, aux utilisateurs et/ou au rôle, ou à l'octroi de rôles aux utilisateurs, vous pouvez créer des modèles extrêmement précis pour qui peut exécuter quoi avec quels privilèges.

Essentiellement, vous identifiez l'autorisation dans/etc/security/auth_attr, puis vous les accordez aux utilisateurs ou aux rôles dans/etc/user_attr.

Vous définissez les profils dans/etc/security/prof_attr. Vous associez ensuite des commandes à ces profils dans/etc/security/exec_attr, puis attribuez ces profils aux utilisateurs dans le fichier/etc/user_attr.

Une fois ces opérations effectuées, vous exécutez réellement pfexec <command> pour exécuter la commande avec des privilèges ou des autorisations accordées à cet utilisateur pour ce commande.

La bonne chose à propos de RBAC est qu'il n'y a pas de privilèges supplémentaires accordés à la commande elle-même, ou à l'utilisateur, uniquement à la combinaison utilisateur + commande. Il est donc plus sûr que de créer un + binaire, ou simplement d'utiliser Sudo pour permettre à un utilisateur d'exécuter à peu près n'importe quoi. (Je sais que vous pouvez verrouiller Sudo, mais d'après mon expérience, la plupart des gens ne le font pas)

Un autre avantage de RBAC est que vous pouvez faire de root un compte de rôle et attribuer ce rôle aux utilisateurs qui peuvent devenir root avec la commande "su" et le mot de passe root. L'utilisateur root pourra également se connecter en mode mono-utilisateur, ce qui est mieux (à mon avis) que le modèle Linux où vous pouvez désactiver le mot de passe root passwd -d root, ou verrouillez le compte root passwd -l root, ce qui rend la connexion en tant que root assez difficile en cas de problème.

Ben Rockwood a un excellent article de blog sur RBAC qui peut être lu sur tilisation de RBAC sur (Open) Solaris .

3
Tim Kennedy