[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: