J'ai souvent entendu dire qu'il est préférable de placer root sur root plutôt que de se connecter directement en tant qu'utilisateur root (et bien sûr, les utilisateurs disent également qu'il est préférable d'utiliser sudo). Je n'ai jamais vraiment compris pourquoi on est meilleur que les autres, perspicacité?
33
Réponses:
L'inférence est à seulement
su
ousudo
lorsque nécessaire.La plupart des tâches quotidiennes ne nécessitent pas de shell racine. Il est donc recommandé d’utiliser un shell non privilégié comme comportement par défaut et d’élever uniquement à la racine lorsque vous devez effectuer des tâches spéciales.
Ce faisant, vous réduisez le risque d'erreurs dangereuses (scripts incorrects, caractères génériques égarés, etc.) et de vulnérabilités de toutes les applications que vous utilisez. Surtout ceux qui se connectent à Internet - voir le vieil adage "Ne pas IRC en tant que root" .
sudo
est souvent recommandé car il vous permet de vérifier et de vérifier l’utilisation de tels privilèges.En observant ces pratiques, vous êtes également en mesure de désactiver les connexions racine à distance. Cela augmente la barre d’entrée pour tout attaquant potentiel, car il devrait compromettre à la fois un compte utilisateur ordinaire membre du groupe "wheel" et, idéalement, uniquement autorisé par les clés publiques SSH, puis le compte root lui-même.
la source
sudo
est supérieur,su
vous permet également d'utiliser l'-m
indicateur pour que les variables d'environnement restent les mêmes lorsque vous êtes dans un terminal root. Rien ne me pousse plus bonkers quesu
de rooter un peu, seulement de faire quelque chose avec~
le nom du répertoire et de ne pas le faire fonctionner.Vous devez désactiver l’accès root à distance afin qu’un attaquant ne puisse pas compromettre la racine sans compromettre au préalable un utilisateur, puis passer à la racine. Nous activons l'accès root uniquement sur la console.
De plus, cela crée une responsabilité. :)
la source
La raison principale est de créer une piste d'audit. Si vous devez vous connecter à un système en tant qu'utilisateur normal, puis en tant que su, il est possible de déterminer qui est responsable des actions données.
la source
sudo enregistre également automatiquement chaque commande dans syslog et vous pouvez définir les commandes que chaque utilisateur peut utiliser.
la source
sudo vim foo.txt
vous accédez à un shell à partir de vim, vous obtiendrez un shell racine sans la journalisation sudo habituelle.sudo -i
pour avoir une session interactive ...Une autre bonne raison: lorsqu’elle passe à la racine via sudo, un utilisateur s’authentifie avec ses propres informations d’identité, ce qui signifie qu’il ne doit pas nécessairement lui attribuer le mot de passe root, ce qui simplifie le verrouillage lorsque quelqu'un quitte votre organisation.
la source
Si vous souhaitez créer un journal d'audit et que vous ne voulez pas être victime des problèmes "sudo su -" ou "sudo vim foo.txt" mentionnés ici, vous pouvez utiliser "sudosh". Distribuez l'accès root via sudo, mais définissez la seule commande autorisée à exécuter "sudosh".
sudosh est un shell de journalisation, et vous pouvez rejouer toute la session de terminal ultérieurement, en affichant exactement ce que l'utilisateur a vu sur son terminal.
la source
Vous devriez pratiquer la sécurité en profondeur.
Interdit l'accès root à distance (ou au moins l'accès root via des mots de passe). (Si vous autorisez l'accès à la racine via des clés, contrôlez soigneusement ces clés ou, mieux encore, utilisez quelque chose comme kerberos qui permet la révocation centralisée des clés).
Je désactiverais su et utiliser sudo. De cette manière, les utilisateurs utilisent des clés (de préférence chiffrées) pour accéder au système. Ils utilisent ensuite leur mot de passe uniquement pour élever les privilèges. Vous pouvez restreindre l'accès aux programmes auxquels les utilisateurs ont accès avec sudo, mais vous limitez principalement l'accès à ceux qui connaissent le mot de passe root.
Dans un monde idéal, vous devriez être capable de publier vos mots de passe root sur Internet, peu importe, même si vous donniez l'accès à votre machine à des personnes (sans les mettre dans le fichier / etc / sudoers). Bien sûr, vous ne devriez pas publier le mot de passe root, mais l’idée est de protéger vos systèmes avec des couches de protection concentriques.
la source
L'idée est de désactiver la connexion root, et donc de ne pas avoir de compte administrateur par défaut. De cette façon, un attaquant doit deviner le nom d'utilisateur et le mot de passe (et pas seulement le mot de passe).
la source
Si vous utilisez régulièrement root, il se peut que vos autorisations soient erronées ou que vous deviez octroyer des droits sudo ou de nouveaux droits de groupe pour r / w / x les fichiers ou les répertoires.
Les bons schémas d’autorisations sont quelque chose que même les utilisateurs de longue date de Linux se trompent ou ne réalisent pas à quoi ils correspondent.
Ne me dites même pas ce que Ubuntu a fait!
la source
Cela vous évite de lancer rm -r -f / je viens de le courir il y a 2 jours (en tant qu'utilisateur non privilégié, je voulais exécuter rm -r -f *)
la source