Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sudo dangereux ?

18 réponses
Avatar
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...

10 réponses

1 2
Avatar
Olivier Miakinen
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
Avatar
Olivier Miakinen
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 : <http://www.catb.org/jargon/html/D/DWIM.html>.
(c'est en anglais, faut-il que je le traduise en français ?)
--
Olivier Miakinen
Avatar
Nicolas George
Olivier Miakinen , dans le message <pvtat2$1eu5$,
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.
Avatar
Christophe PEREZ
Le Tue, 25 Dec 2018 14:21:38 +0100, Olivier Miakinen a écrit :
sudo rm *.*


*.*, on se croirait sous Windows :D
Avatar
Olivier Miakinen
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
Avatar
Pierre www.zetrader.info
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
Avatar
Pierre www.zetrader.info
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
Avatar
Marc SCHAEFER
Pierre www.zetrader.info wrote:
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.
Avatar
Olivier Miakinen
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
Avatar
Jo Engo
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) -+-
1 2