Re: problème de syntaxe avec un script shell
Le 28/12/17 à 13:19, Bernard Schoenacker <bernard.schoenacker@free.fr> a
écrit :
BS> bonjour,
BS>
BS> il y a un peut plus d'une année je recherchais
BS> un moyen de faciliter la mise à jour d'un ordi
BS> sous linux et j'avais eu la bonne réponse ...
BS>
BS> j'ai repris le même script et plus rien ne fonctionne :
BS>
BS> pwd='le-bon-mot-de-passe'
BS> printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get update
BS> --fix-missing printf '%sn' "$pwd" | sudo --stdin --prompt='' apt-get
BS> upgrade -y
BS>
BS> qui pourrais le déverminer ?
Ça répond pas vraiment à la question, mais je trouve que mettre un pass
sudo dans un script est une très mauvaise idée (ça revient à laisser
traîner un accès root à un user +/- lambda, et à donner l'accès au compte
de ce user à tous ceux qui peuvent lire ce script).
Il vaut mieux lister les commandes que ce user peut lancer dans
un /etc/sudoers.d/userBidule (le mieux étant de lui préparer qq scripts,
qu'il ne peut pas modifier, pour être sûr que ça ne fera que ce qu'il y a
dans ces scripts, car lui donner les droits complets sur apt ou un autre
binaire d'admin peut être inutilement risqué).
Par ex dans /home/bin/upgrade.sh (exécutable par le user mais pas
modifiable) du
apt-get update
apt-get upgrade -y
et dans /etc/sudoers.d/userBidule
Cmnd_Alias C_ADM=/home/bin/upgrade.sh,/home/bin/autreScript.sh
userBidule ALL = (root) NOPASSWD:C_ADM
userBidule pourra alors faire directement du `sudo /home/bin/upgrade.sh`
sans avoir de mot de passe à saisir.
--
Daniel
Le philosophe cherche des solutions aux problèmes et
ne trouve que des problèmes sans solutions.
Sim
Reply to: