Lors de l'écriture d'un script shell, dans lequel certaines commandes, mais pas toutes, nécessitent des privilèges de superutilisateur, dois-je
ajoutez sudo aux commandes qui nécessitent des privilèges de superutilisateur et exécutez le script shell sans sudo, ou
n'ajoutez pas sudo aux commandes qui nécessitent des privilèges de superutilisateur, mais exécutez le script shell avec sudo?
Dans le deuxième cas, je n'aurai besoin de fournir mon mot de passe qu'une seule fois, mais toutes les commandes du script seront exécutées avec des privilèges de superutilisateur, y compris les commandes qui n'en ont pas besoin.
Dans le premier cas, il se peut que je doive fournir mon mot de passe plusieurs fois pour différentes commandes sudo, tandis que les privilèges de superutilisateur ne sont accordés qu'aux commandes qui en ont besoin.
Pour des raisons de sécurité, la première solution est meilleure. Pour plus de commodité, la deuxième façon est meilleure.
J'ai pensé à adopter la première voie. Je dois donc faire face à l'inconvénient de fournir mes mots de passe à plusieurs commandes sudo dans le script shell.
-
Un script bien écrit détecterait s'il s'exécutait avec les bonnes autorisations et n'appelait pas du tout sudo, mais il y a beaucoup de mauvais scripts
Dois-je donc utiliser la deuxième façon? Si c'est le cas,
comment puis-je écrire "le script détecterait s'il s'exécutait avec les bonnes autorisations et n'appellerait pas du tout sudo"?
comment puis-je améliorer sa sécurité pour éviter le problème d'accorder des privilèges de superutilisateur à des commandes qui n'en ont pas besoin lors de l'exécution du script avec sudo?
- Cette approche simple aurait-elle le meilleur des deux: ajouter sudo aux commandes qui en ont seulement besoin, et exécuter le script avec ou sans sudo selon que je veux la commodité ou la sécurité? Cette approche a-t-elle un problème?
Merci.
sudo
avoir un cache d'informations d'identification par défaut. Est-ce désactivé sur votre plateforme?