Réponses:
Les deux principales possibilités en ligne de commande sont les suivantes:
su
et entrez le mot de passe root lorsque vous y êtes invité.sudo
devant la commande et entrez votre mot de passe lorsque vous y êtes invité.C'est la méthode préférée sur la plupart des systèmes, y compris Ubuntu, Linux Mint, (sans doute) Debian et autres. Si vous ne connaissez pas de mot de passe root distinct, utilisez cette méthode.
Sudo exige que vous tapez votre propre mot de passe. (Le but est de limiter les dommages si vous laissez votre clavier sans surveillance et déverrouillé, mais aussi de vous assurer que vous souhaitez vraiment exécuter cette commande sans qu’il s’agisse d’une faute de frappe.) Il est souvent configuré pour ne plus demander quelques minutes pour pouvoir exécuter plusieurs sudo
commandes successivement.
Exemple:
sudo service apache restart
Si vous devez exécuter plusieurs commandes en tant que root, préfixez chacune d’elles avec sudo
. Parfois, il est plus pratique d’exécuter un shell interactif en tant que root. Vous pouvez utiliser sudo -i
pour cela:
$ sudo -i
# command 1
# command 2
...
# exit
Au lieu de sudo -i
, vous pouvez utiliser sudo -s
. La différence est que -i
re i nitializes l'environnement par défaut sain d' esprit, alors que -s
utilise vos fichiers de configuration pour le meilleur ou pour le pire.
Pour plus d'informations, consultez le site Web sudo ou tapez-le man sudo
sur votre système. Sudo est très configurable. Par exemple, il peut être configuré pour permettre à un utilisateur d'exécuter uniquement certaines commandes en tant que root. Lisez la sudoers
page de manuel pour plus d'informations. Utilisez sudo visudo
pour éditer le fichier sudoers.
La su
commande existe sur la plupart des systèmes de type Unix. Il vous permet d'exécuter une commande en tant qu'autre utilisateur, à condition de connaître le mot de passe de cet utilisateur. Lorsqu'il est exécuté sans utilisateur spécifié, su
le compte racine est utilisé par défaut.
Exemple:
su -c 'service apache restart'
La commande à exécuter doit être passée à l'aide de l' -c
option. Notez que vous avez besoin de guillemets pour que la commande ne soit pas analysée par votre shell, mais transmise intacte au shell racine qui su
s'exécute.
Pour exécuter plusieurs commandes en tant que root, il est plus pratique de démarrer un shell interactif.
$ su
# command 1
# command 2
...
# exit
Sur certains systèmes, vous devez être dans le groupe numéro 0 (appelé wheel
) à utiliser su
. (Le but est de limiter les dégâts si le mot de passe root est divulgué accidentellement à quelqu'un.)
Si un mot de passe root est défini et que vous en possédez, vous pouvez simplement taper root
à l'invite de connexion et entrer le mot de passe root. Soyez très prudent et évitez d'exécuter des applications complexes en tant qu'utilisateur root, car elles pourraient faire quelque chose que vous n'aviez pas prévu. Se connecter directement en tant que root est principalement utile dans les situations d'urgence, telles que les pannes de disque ou lorsque vous êtes bloqué hors de votre compte.
Le mode mono-utilisateur ou niveau d'exécution 1 vous donne également des privilèges root. Ceci est principalement destiné aux situations de maintenance d'urgence dans lesquelles il est impossible de démarrer à un niveau d'exécution multi-utilisateur. Vous pouvez démarrer en mode mono-utilisateur en passant single
ou emergency
sur la ligne de commande du noyau. Notez que le démarrage en mode mono-utilisateur n’a rien à voir avec le démarrage normal du système et la connexion en tant que root. Au lieu de cela, le système démarrera uniquement les services définis pour le niveau d'exécution 1. Il s'agit généralement du plus petit nombre de services requis pour disposer d'un système utilisable.
Vous pouvez également accéder à simple mode utilisateur en utilisant la commande telinit: telinit 1
; toutefois, cette commande nécessite que vous ayez déjà obtenu les privilèges root via une autre méthode pour pouvoir s'exécuter.
Sur de nombreux systèmes, le démarrage en mode mono-utilisateur donnera à l'utilisateur l'accès à un shell racine sans demander de mot de passe. Notamment, les systemd
systèmes basés sur vous demanderont le mot de passe root lorsque vous démarrez de cette manière.
Calife vous permet d'exécuter des commandes en tant qu'autre utilisateur en saisissant votre propre mot de passe, s'il y est autorisé. C'est semblable au sudo beaucoup plus répandu (voir ci-dessus). Calife est plus léger que sudo mais également moins configurable.
Op vous permet d'exécuter des commandes en tant qu'autre utilisateur, y compris root. Ce n'est pas un outil complet pour exécuter des commandes arbitraires: vous tapez op
suivi d'un mnémonique configuré par l'administrateur système pour exécuter une commande spécifique.
Super vous permet d'exécuter des commandes en tant qu'utilisateur différent, y compris root. La commande doit avoir été autorisée par l'administrateur système.
Voir aussi Wikipedia .
Préfixez simplement votre commande désirée avec la commande pkexec
. Sachez que même si cela fonctionne dans la plupart des cas, cela ne fonctionne pas universellement.
Voir man pkexec
pour plus d'informations.
kdesu
et kdesudo
sont des interfaces graphiques à su
et sudo
respectivement. Ils vous permettent d’exécuter des programmes X Window en tant qu’utilisateur root sans tracas. Ils font partie de KDE . Type
kdesu -c 'command --option argument'
et entrez le mot de passe root ou tapez
kdesudo -c 'command --option argument'
et entrez votre mot de passe (si vous êtes autorisé à le faire sudo
). Si vous cochez l'option «Conserver le mot de passe» dans KdeSu, il vous suffira de saisir le mot de passe root une fois par session.
Ktsuss («Keep the Su Simple, Stupid») est une version graphique de Su.
BeesuBeesu est une interface graphique de la commande su qui a remplacé Gksu dans les systèmes d'exploitation basés sur Red Hat. Il a été développé principalement pour RHEL et Fedora.
gksu
et gksudo
gksu
et gksudo
sont des interfaces graphiques à su
et sudo
respectivement. Ils vous permettent d’exécuter des programmes X Window en tant qu’utilisateur root sans tracas. Ils font partie de Gnome . Type
gksu command --option argument
et entrez le mot de passe root ou tapez
gksudo command --option argument
et entrez votre mot de passe (si vous êtes autorisé à le faire sudo
).
gksu
et gksudo
sont obsolètes. Ils ont été remplacés par PolicyKit dans GNOME et de nombreuses distributions (telles que Ubuntu) ne les installent plus par défaut. Vous ne devriez pas compter sur leur disponibilité ou leur bon fonctionnement.
Utilisez l’une des méthodes de la section "Exécution d’une commande shell en tant que section racine". Vous devrez vous assurer que ni la DISPLAY
variable d'environnement ni l' XAUTHORITY
environnement ne sont réinitialisés lors de la transition vers la racine. Cela peut nécessiter une configuration supplémentaire de ces méthodes qui ne relève pas de la portée de cette question.
Globalement, c'est une mauvaise idée, principalement parce que les applications graphiques lisent et écrivent les fichiers de configuration en tant que root. Lorsque vous essayez de les utiliser à nouveau en tant qu'utilisateur normal, ces applications ne sont pas autorisées à lire leurs propres configurations.
sudo
cela ne fonctionnera que si (1) il est installé et (2) si votre utilisation se trouve dans le fichier sudoers et qu'il est autorisé à effectuer l'opération.
pkexec
remplace gksu
/ gksudo
dans beaucoup de distributions de nos jours.
Utiliser su
:
$ su -c command
ou
$ su
# command
# exit
Dans les deux cas, le root
mot de passe vous sera demandé . Pour plus d'informations, voir la page de manuel .
Comme la question n'était pas spécifique à Linux, voici comment vous atteignez le même objectif sous Solaris 9+ (ou Trusted Solaris 8):
Solaris, depuis la version 9, inclut une suite d’outils affectueusement appelée contrôle d’accès basé sur le rôle (RBAC).
L'essentiel de RBAC est que, en accordant des autorisations et des droits, des utilisateurs et / ou des rôles, ou en attribuant des rôles à des utilisateurs, vous pouvez créer des modèles extrêmement détaillés pour savoir qui peut utiliser quels privilèges.
Essentiellement, vous identifiez l'autorisation dans / etc / security / auth_attr, puis vous leur accordez des utilisateurs ou des rôles dans / etc / user_attr.
Vous définissez des profils dans / etc / security / prof_attr. Vous associez ensuite des commandes à ces profils dans / etc / security / exec_attr, puis vous affectez ces profils aux utilisateurs du fichier / etc / user_attr.
Une fois ces opérations terminées, vous pfexec <command>
exécutez la commande avec les privilèges ou autorisations accordées à cet utilisateur pour cette commande.
La bonne chose à propos de RBAC est qu’aucun privilège supplémentaire n’est accordé à la commande elle-même, ni à l’utilisateur, mais uniquement à la combinaison utilisateur + commande. Il est donc plus sûr de créer un + s 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 créer un compte de rôle root et attribuer ce rôle à des utilisateurs pouvant 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 meilleur (à mon avis) que le modèle Linux où vous pouvez désactiver le mot de passe root passwd -d root
ou verrouiller le compte root passwd -l root
, qui rendent la connexion en tant que root assez difficile quand quelque chose ne va pas.
Ben Rockwood publie un excellent article de blog sur RBAC, que vous pouvez consulter à la section Utilisation de RBAC sur (Open) Solaris .
Ou vous pouvez donner à certaines commandes une superpuissance. Je parle des autorisations spéciales dans lesquelles les commandes sont exécutées avec l'autorisation du propriétaire.
Obtenez le chemin de commande par #which <command>
et définissez SUID ou SGID pour ce chemin.
Les bits PS-SUID et SGID doivent être donnés avec précaution. Ils peuvent rendre votre système peu sûr.