sudo dangereux ?

Le
Jo Engo
petit test :
abdallah@poupon-la-peste:~/toto$ mkdir test.sudo
abdallah@poupon-la-peste:~/toto$ cd test.sudo
abdallah@poupon-la-peste:~/toto/test.sudo$ ls
abdallah@poupon-la-peste:~/toto/test.sudo$ touch pas.touche
abdallah@poupon-la-peste:~/toto/test.sudo$ chmod u-w pas.touche
abdallah@poupon-la-peste:~/toto/test.sudo$ ls -l
total 0
-r--r--r-- 1 abdallah abdallah 0 déc. 25 13:49 pas.touche
abdallah@poupon-la-peste:~/toto/test.sudo$ rm *.*
rm : supprimer 'pas.touche' qui est protégé en écriture et est du type
« fichier vide » ? n
abdallah@poupon-la-peste:~/toto/test.sudo$ sudo !!
sudo rm *.*
[sudo] Mot de passe de abdallah : 
abdallah@poupon-la-peste:~/toto/test.sudo$ ls
abdallah@poupon-la-peste:~/toto/test.sudo$

# Je m'attendais à ce que sudo n'admette pas comme argument rm *.*

encore plus dangereux : je change de répertoire par exemple /bin et je
fais !sudo (j'ai oublié le sudo rm *.* moins de 10 ' auparavant)

--

20:03 mon Dieu pardonnez moi, je suis en train de pecher
20:05 20:03 ça mord ?
20:12 20:05 j'espere bien que non! sinon elle va me faire mal
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #26502947
Le 25/12/2018 13:59, Jo Engo a écrit :
[...]
:~/toto/test.sudo$ sudo !!
sudo rm *.*

Et :
[...]
encore plus dangereux : je change de répertoire par exemple /bin et je
fais !sudo (j'ai oublié le sudo rm *.* moins de 10 ' auparavant)

Je ne connaissais pas ! et !! dans bash, mais c'est bien ÇA qui est
dangereux et pas le sudo. Que tu aies les droits de root ou pas,
relancer une commande sans voir ce qu'elle va faire, il est bien
évident que ça peut détruire des trucs que tu ne voulais pas.
# Je m'attendais à ce que sudo n'admette pas comme argument rm *.*

Et puis quoi encore ? D'une part il peut y avoir des raisons
parfaitement valides de faire un sudo rm *.*, d'autre part il
peut y avoir des commandes plus dangereuses que rm *.*, et sudo
ne peut pas les détecter pour te protéger contre toi-même !
Par exemple :
:~ echo 'rm -rf /' > gentil-script
:~ sudo sh ./gentil-script
--
Olivier Miakinen
Olivier Miakinen
Le #26502946
Le 25/12/2018 14:21, je répondais à Jo Engo :
[...] Que tu aies les droits de root ou pas,
relancer une commande sans voir ce qu'elle va faire, il est bien
évident que ça peut détruire des trucs que tu ne voulais pas.

Quoique ce ne soit pas exactement la même chose, voilà un exemple
proche : (c'est en anglais, faut-il que je le traduise en français ?)
--
Olivier Miakinen
Nicolas George
Le #26502950
Olivier Miakinen , dans le message a écrit :
Je ne connaissais pas ! et !! dans bash, mais c'est bien ÇA qui est
dangereux et pas le sudo. Que tu aies les droits de root ou pas,
relancer une commande sans voir ce qu'elle va faire, il est bien
évident que ça peut détruire des trucs que tu ne voulais pas.

Totalement. D'ailleurs :
cigaes ~ $ grep bang_hist .zshrc
setopt nobang_hist
BANG_HIST (+K) <C> <Z>
Perform textual history expansion, csh-style, treating the char‐
acter `!' specially.
Christophe PEREZ
Le #26502958
Le Tue, 25 Dec 2018 14:21:38 +0100, Olivier Miakinen a écrit :
sudo rm *.*


*.*, on se croirait sous Windows :D
Olivier Miakinen
Le #26502962
Le 25/12/2018 18:13, Christophe PEREZ a écrit :
sudo rm *.*


*.*, on se croirait sous Windows :D

Voire sur MS-DOS. Je n'en ai même pas parlé parce que ça me semblait
si peu important par rapport au fait que le danger est « ! » ou « !! »
et pas « sudo ».
Mais il y a autre chose dans l'article initial qui m'a fait furieusement
penser à Windows : c'est d'espérer qu'une commande nous « protège » de
nos propres bêtises, alors que justement c'est ça qui finit par inciter
à en faire, des bêtises !
--
Olivier Miakinen
Pierre www.zetrader.info
Le #26502963
Le 25/12/2018 à 18:13, Christophe PEREZ a écrit :
Le Tue, 25 Dec 2018 14:21:38 +0100, Olivier Miakinen a écrit :
sudo rm *.*


*.*, on se croirait sous Windows :D

Ça ne marche pas *.* sous Linux ?
--
http://zetrader.info & http://zetrader.fr
http://aribaut.com - http://zeforums.com
Pierre www.zetrader.info
Le #26502964
Le 25/12/2018 à 18:55, Olivier Miakinen a écrit :
Le 25/12/2018 18:13, Christophe PEREZ a écrit :
sudo rm *.*


*.*, on se croirait sous Windows :D

Voire sur MS-DOS. Je n'en ai même pas parlé parce que ça me semblait
si peu important par rapport au fait que le danger est « ! » ou « !! »
et pas « sudo ».
Mais il y a autre chose dans l'article initial qui m'a fait furieusement
penser à Windows : c'est d'espérer qu'une commande nous « protège » de
nos propres bêtises, alors que justement c'est ça qui finit par inciter
à en faire, des bêtises !

C'est pas bien de protéger les fichiers du système ou une partition avec
l'OS par des avertissements supplémentaires ?
Je ne trouve pas ça si mal que ça, une fausse manip peut arriver facilement.
--
http://zetrader.info & http://zetrader.fr
http://aribaut.com - http://zeforums.com
Marc SCHAEFER
Le #26502965
Pierre www.zetrader.info
C'est pas bien de protéger les fichiers du système ou une partition avec
l'OS par des avertissements supplémentaires ?
Je ne trouve pas ça si mal que ça, une fausse manip peut arriver facilement.

Il y a certains OS qui aliasent effectivement `rm' à `rm -i' -- avec le
risque que l'on fasse "oui" trop vite. C'est aussi vrai pour `mv'.
En ce qui me concerne, j'ai deux stratégies:
- réfléchir avant de taper ENTER, en particulier sous root ou avec
sudo
- utiliser rsync-backup plusieurs fois par jour sur les serveurs
importants, pour pouvoir facilement retrouver un fichier
effacé
Je préfère ça à un `rm -i'.
D'un autre côté, chacun configure son système comme il veut.
Olivier Miakinen
Le #26502973
Le 25/12/2018 19:32, Pierre www.zetrader.info a écrit :
sudo rm *.*


*.*, on se croirait sous Windows :D

Ça ne marche pas *.* sous Linux ?

Bien sûr que si, ça n'efface que les fichiers qui ont un « . » dans
le nom.
Lorsque tous les fichiers d'un répertoire ont un « . » dans leur nom,
ou lorsqu'on veut effacer tous les fichiers d'un répertoire quel que
soit leur nom, sous Linux il est équivalent et beaucoup plus simple
d'écrire « rm * » que « rm *.* ».
Sous MS-DOS, en revanche, tous les fichiers ont *exactement* un point
dans leur nom, et en outre je crois bien qu'il est obligatoire de
faire « rm *.* ».
--
Olivier Miakinen
Jo Engo
Le #26502972
Le Tue, 25 Dec 2018 19:32:39 +0100, Pierre www.zetrader.info a écrit :
Ça ne marche pas *.* sous Linux ?


Que je sache ça ne liste que les fichiers comprenant un point :
:~/toto$ ls
test.sudo titi toto
:~/toto$ touch point.point
:~/toto$ echo *.*
point.point test.sudo
--
S'assure-t-on sur l'alliance
Qu'a faite la nécessité ?
-+- Jean de La Fontaine (1621-1695),
Le Chat et le Rat (Fables VIII.22) -+-
Publicité
Poster une réponse
Anonyme