Je lisais le code suivant :
$ sudo bash
# cd /home/
# ./gitpull.sh
Pourquoi ai-je besoin de la première ligne, que fait-elle exactement ? Et si je faisais juste $ sudo
au lieu de $ sudo bash
?
Je lisais le code suivant :
$ sudo bash
# cd /home/
# ./gitpull.sh
Pourquoi ai-je besoin de la première ligne, que fait-elle exactement ? Et si je faisais juste $ sudo
au lieu de $ sudo bash
?
sudo <shell>
si elle fonctionne, trahit une mauvaise installation de sudo et une faiblesse de sécurité potentielle.
sudo
ne doit pas être configuré pour autoriser des commandes arbitraires comme Shell ; le but de la fonction sudo
est de permettre aux utilisateurs authentifiés non root d'exécuter certaines commandes en tant que root, sans connaître le mot de passe root.
Si sudo bash
est autorisé à tout utilisateur, cet utilisateur est root du simple fait qu'il connaît son propre mot de passe.
Si un attaquant obtient le mot de passe de n'importe lequel des comptes qui sont en mesure de faire sudo bash
l'attaquant a donc la racine.
La façon correcte de faire l'équivalent de sudo bash
(obtenir une racine Shell) est su
suivi de l'indication du mot de passe de l'administrateur, et non du vôtre.
Le tristement célèbre sudo est une sorte d'acronyme pour Superuser Do.
En gros, cela fait d'un utilisateur normal un super utilisateur pendant un court moment.
Dans votre commande sudo bash, vous dites effectivement Superuser do --> un Bourne Shell ( bash ) qui ouvre un utilisateur root connecté dans Shell.
Si vous exécutez sudo, le système d'exploitation ne saura pas quoi faire. Donc, en général, sudo est suivi d'une commande unix.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.