Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/02/2010, à 19:34

Rolinh

A propos des commandes dangereuses... :p

Bonjour à tous,

j'ai voulu m'amuser un peu avec une machine virtuelle et j'ai voulu tester en vrai voir jusqu'à quand s'arrête la fameuse commande. Vous savez, celle que je ne vais pas nommer avec un rm et un / une petite étoile et qui est récursive, en root roll

C'était très rigolo tongue Le système complètement HS (logique ^^ )

Mais du coup je me suis posé une question: si on exécute un script bash qui contient malheureusement cette commande (ou une dans le genre), sans qu'on le sache, est-ce qu'il y aurait un avertissement quelconque ou tout se retrouverait annihilé sans avertissement?

Hors ligne

#2 Le 01/02/2010, à 19:36

LegSim

Re : A propos des commandes dangereuses... :p

Si le script est exécuté en root, il te détruira tout ton système.
S'il est exécuté en utilisateur, il te détruira tout ton /home.


L'ouverture d'esprit ne se limite pas forcement à une fracture du crâne...
Ici, hébergement, adresses e-mail et jabber et upload de fichiers sur serveur libre, le tout à prix libre.

Hors ligne

#3 Le 01/02/2010, à 19:38

heuuuuu

Re : A propos des commandes dangereuses... :p

Si il fait quelque chose en root, il faudra qu'il te demande ton mot de passe root.
Et si il s'exécute, c'est déjà que tu lui a donné le droit de s'exécuter, puis que tu l'as exécuté.


Quand les avions en papier ne partent plus au vent
On se dit que l'bon temps passe finalement...
...comme une étoile filante
http://forum.ubuntu-fr.org/viewtopic.php?id=139410

Hors ligne

#4 Le 01/02/2010, à 19:39

Shyne

Re : A propos des commandes dangereuses... :p

Salut,

Je sais qu'avec Zsh on peut avertir l'utilisateur sur certaines commandes dangereuses, avec Bash c'est certainement possible mais par défaut je crois qu'il dégage tout (avec les privilèges qui vont bien).

Hors ligne

#5 Le 01/02/2010, à 19:48

Ras'

Re : A propos des commandes dangereuses... :p

Euh bah a priori si tu lui a donné les droits d'exécution et que tu l'as lancé en root il s'exécute, je pense pas qu'il y ait de frein.
D'ou l'importance de ne pas récupérer des scripts et des debs nimporte ou, et de ne pas lancer nimporte quoi en root wink


Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
 
Les types awesome n'ont rien à prouver. À personne.
'k bye là

Hors ligne

#6 Le 01/02/2010, à 20:18

Rolinh

Re : A propos des commandes dangereuses... :p

C'est bien tout comme je pensais. C'est vrai que personne n'a plus de droits que root mais justement, en le lançant même sans être root cela supprime tout le /home quand même sans aucun avertissement ce qui n'est pas rien.
Comme le dit Ras', moralité: il faut utiliser les dépôts.

Merci Shyne, c'est le genre de réponse que j'attendais (parce que je sais bien ce que fais la commande). Mais il n'existe aucun programme qui avertisse si une commande dangereuse va être lancée.
Cela pourrait être quand même super pratique, non?

Hors ligne

#7 Le 01/02/2010, à 20:26

pops

Re : A propos des commandes dangereuses... :p

en fait c'est bizarre les droits root, ça me ferais mille fois plus chier de perdre mon home que de perdre ma partition système.

du coup si je le fais en root il me détruit tout le système plus les disques qui sont montés ou juste la partition système? (la question existentielle qui j'espère ne me servira jamais)

*s'en va mettre a jours ses sauvegardes*

Hors ligne

#8 Le 01/02/2010, à 20:38

Shyne

Re : A propos des commandes dangereuses... :p

C'est récursif donc ça supprime tes points de montage et bien sur leurs contenu!

Hors ligne

#9 Le 01/02/2010, à 20:43

Le Galéanthrope

Re : A propos des commandes dangereuses... :p

Sous Windows, si on vous donne un fichier .bat et qu'on vous dit lance le c'est cool, vous serez suspicieux, sous GNU/Linux il faut être tout aussi suspicieux et ne lancer des script qui ne viennent que de sources de confiance ou qu'on est capable de lire.


Miaou ! ー Nyamiou Le Galéanthrope

Hors ligne

#10 Le 01/02/2010, à 20:46

brakbabord

Re : A propos des commandes dangereuses... :p

GNU/Linux n'est pas un OS conçu pour rattraper les conneries de l'utilisateur.
Si tu lui dis de lancer en rm -rf, même au travers d'un script, il le fera même si ça bousille le système.

GNU/Linux est fait pour être utilisé par des gens responsables et informés.

Une voiture, si tu fonces vers un arbre, elle ne va pas t'avertir, elle va se crasher puis c'est tout.

Hors ligne

#11 Le 01/02/2010, à 20:47

Shyne

Re : A propos des commandes dangereuses... :p

Mouais sous windows j'en connais qui n'ont pas peur d'installer des jeux/softs crackés roll

A la limite un .bat tu peux le lire...

Hors ligne

#12 Le 01/02/2010, à 20:59

balou

Re : A propos des commandes dangereuses... :p

brakbabord a écrit :

Une voiture, si tu fonces vers un arbre, elle ne va pas t'avertir, elle va se crasher puis c'est tout.

Radar avertisseur anti collision qui peut stopper la voiture ...


http://ubuntu.ipacct.com/xubuntu/6.06.1/release.1/?C=S;O=A

Hors ligne

#13 Le 01/02/2010, à 21:01

bailchanis

Re : A propos des commandes dangereuses... :p

brakbabord a écrit :

GNU/Linux n'est pas un OS conçu pour rattraper les conneries de l'utilisateur.
Si tu lui dis de lancer en rm -rf, même au travers d'un script, il le fera même si ça bousille le système.

GNU/Linux est fait pour être utilisé par des gens responsables et informés.

Tout à fait c'est d'ailleur un précieux héritage d'UNIX :

Doug Gwyn a écrit :

UNIX was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things.

tradoc : UNIX n'est pas conçu pour empecher les utilisateurs de faire des idioties car cela les empecherait également de faire des choses brillantes.

Hors ligne

#14 Le 01/02/2010, à 21:05

side

Re : A propos des commandes dangereuses... :p

Je croyais que rm était par défaut avec --preserve-root dans ubuntu ???

Sinon on peut toujours faire un alias pour éviter ça.


« Je ne suis pas une adversaire de l’Europe, je me sens européenne. Je voudrais qu’il y ait des accords entre les nations librement consentis, c’est cette Europe-là que je veux voir émerger et je souhaite que la France soit à l’origine de ce beau projet, de cette belle initiative » - Marine Le Pen - 25 Avril 2017 - TF1

Hors ligne

#15 Le 01/02/2010, à 21:13

brakbabord

Re : A propos des commandes dangereuses... :p

Programmer des sécurités dans un OS pour limiter les boulettes de l'utilisateur est une perte de temps. Si il veut vraiment crasher son système, il finira toujours pas trouver un moyen.

Si on désactive le rm -rf, je peux toujours faire un fdisk /dev/sda puis supprimer les partitions...

Hors ligne

#16 Le 01/02/2010, à 21:19

Link31

Re : A propos des commandes dangereuses... :p

pops a écrit :

du coup si je le fais en root il me détruit tout le système plus les disques qui sont montés ou juste la partition système? (la question existentielle qui j'espère ne me servira jamais)

Tout. Si tu as une clé USB branchée et montée, son contenu est supprimé. Si tu as un partage Samba monté, tout ce que tu es capable de supprimer dessus est supprimé. Si tu es admin réseau et que tu as monté tous les serveurs de ta boîte en SSH ou NFS, ils sont détruits eux aussi. Et tout ce qui est monté sur les serveurs eux-mêmes est aussi supprimé. Conséquence indirecte : le rm -rf / supprime aussi le contenu de ton compte en banque...

Hors ligne

#17 Le 01/02/2010, à 21:20

Rolinh

Re : A propos des commandes dangereuses... :p

L'idée n'est pas de désactiver ce genre de commande, mais avertir afin que la personne vérifie la commande qui est lancée.
C'est vite fait de faire par mégarde un remove sur /monnom/* au lieu de  /monom/*.deb par exemple

Hors ligne

#18 Le 01/02/2010, à 21:22

Le Galéanthrope

Re : A propos des commandes dangereuses... :p

J'ai une question :

Si on supprime /bin/rm sur un système, le dossier /tmp va t'il jamais se vider ? l'utilisateur pourra t'il encore supprimé des fichiers avec les applis graphiques ou les applis graphiques utilisent t'elles rm ?

En clair, est ce que ce serait vraiment drôle de lancer "rm /bin/rm" sur le système de quelqu'un qu'on aime pas ?


Miaou ! ー Nyamiou Le Galéanthrope

Hors ligne

#19 Le 01/02/2010, à 21:23

Link31

Re : A propos des commandes dangereuses... :p

Sherwood51 a écrit :

L'idée n'est pas de désactiver ce genre de commande, mais avertir afin que la personne vérifie la commande qui est lancée.
C'est vite fait de faire par mégarde un remove sur /monnom/* au lieu de  /monom/*.deb par exemple

ZSH le fait en mode interactif (et ça m'a sauvé plusieurs fois), mais ce n'est pas envisageable d'activer une telle fonctionnalité de façon non-interactive (c-à-d dans un script).

Le Galéanthrope a écrit :

Si on supprime /bin/rm sur un système, le dossier /tmp va t'il jamais se vider ? l'utilisateur pourra t'il encore supprimé des fichiers avec les applis graphiques ou les applis graphiques utilisent t'elles rm ?

Toutes les applications, sauf les scripts shell, n'utilisent pas /bin/rm mais l'appel système unlink().

On peut désactiver un appel système à travers une manipulation particulièrement tirée par les cheveux, mais ça n'a effectivement d'intérêt que pour faire une blague, et il faut de toute manière les droits root.

edit : la manipulation en question, sans garantie de fonctionnement (à lancer de préférence depuis /bin/busybox) :

echo -e '\xc3' | sudo dd of=/dev/kmem bs=1 count=1 seek=$((0x`awk '/sys_unlink$/ { print $1; }' /proc/kallsyms`))

Dernière modification par Link31 (Le 01/02/2010, à 21:31)

Hors ligne

#20 Le 01/02/2010, à 21:29

Ras'

Re : A propos des commandes dangereuses... :p

Sherwood51 a écrit :

Merci Shyne, c'est le genre de réponse que j'attendais (parce que je sais bien ce que fais la commande). Mais il n'existe aucun programme qui avertisse si une commande dangereuse va être lancée.
Cela pourrait être quand même super pratique, non?

Donc faut définir ce qu'est une commande dangereuse, si le niveau de sécurité est trop haut ça gène les noobs parce que c'est dangereux, si c'est trop bas on se retrouve avec un truc à la Vista qui te demande 14 fois si oui ou non tu veux vraiment supprimer ton fichier...
Ici le niveau de sécurité c'est "il faut être root pour toucher à la partie admin"

Parce que son mdp root c'est comme son code carte bleue, on le tape pas comme ça sans réfléchir.


Sinon c'est vrai que /home est plus important que / (bien que / contienne /home) mais l'utilisateur un poil intelligent aura au moins une sauvegarde de ses fichiers perso, et fera attention à ce qu'il fait.

Dernière modification par Ras' (Le 01/02/2010, à 21:30)


Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
 
Les types awesome n'ont rien à prouver. À personne.
'k bye là

Hors ligne

#21 Le 01/02/2010, à 21:54

Grünt

Re : A propos des commandes dangereuses... :p

Le Galéanthrope a écrit :

J'ai une question :

Si on supprime /bin/rm sur un système, le dossier /tmp va t'il jamais se vider ? l'utilisateur pourra t'il encore supprimé des fichiers avec les applis graphiques ou les applis graphiques utilisent t'elles rm ?

En clair, est ce que ce serait vraiment drôle de lancer "rm /bin/rm" sur le système de quelqu'un qu'on aime pas ?

/bin/rm est chargé depuis le disque dur vers la mémoire quand tu l'appelles, et tant qu'il n'a pas fini de supprimer ce que tu lui as donné à supprimé, il n'a pas de raison de recharger son image en mémoire depuis le disque. Autrement dit, quand tu tapes "rm", le binaire "rm" est copié dans la mémoire, exécuté depuis la mémoire, et qu'il disparaisse du disque ne l'empêche pas de bosser.

Idem pour le noyau: au démarrage il est chargé en RAM, et y reste. J'ai d'ailleurs passé 3 jours après une suppression malencontreuse de l'image du noyau sur le disque (celle située dans /boot), sans éteindre ma machine: ça pose aucun soucis.


Red flashing lights. I bet they mean something.

Hors ligne

#22 Le 01/02/2010, à 22:41

Le Galéanthrope

Re : A propos des commandes dangereuses... :p

@ǤƦƯƝƬ : Merci, mais ça je le savait déjà, c'est d'ailleurs pour ça qu'on peut se passer de redémarrer son système tout les 4 matins quand on met à jour comme sous Windows.


Miaou ! ー Nyamiou Le Galéanthrope

Hors ligne

#23 Le 01/02/2010, à 23:14

pops

Re : A propos des commandes dangereuses... :p

Link31 a écrit :
pops a écrit :

du coup si je le fais en root il me détruit tout le système plus les disques qui sont montés ou juste la partition système? (la question existentielle qui j'espère ne me servira jamais)

Tout. Si tu as une clé USB branchée et montée, son contenu est supprimé. Si tu as un partage Samba monté, tout ce que tu es capable de supprimer dessus est supprimé. Si tu es admin réseau et que tu as monté tous les serveurs de ta boîte en SSH ou NFS, ils sont détruits eux aussi. Et tout ce qui est monté sur les serveurs eux-mêmes est aussi supprimé. Conséquence indirecte : le rm -rf / supprime aussi le contenu de ton compte en banque...

et si tu est admin resau dans une banques...

de toute façon j'ai tendance à vérifier dix fois avant de taper ce genre de commande, avant d'appuyer fébrilement sur entrée pour me dire juste après que j'ai fais une connerie.
pis en fait non cool

Hors ligne

#24 Le 01/02/2010, à 23:36

Rolinh

Re : A propos des commandes dangereuses... :p

Et ben merci Grunt et Link31, vous m'aurez appris des choses wink

Hors ligne

#25 Le 02/02/2010, à 00:08

Grünt

Re : A propos des commandes dangereuses... :p

En fait, le premier obstacle à un message d'avertissement avant l'utilisation de rm, c'est son utilisation fréquente dans les scripts de démarrage et d'arrêt.

Jetez un oeil dans les scripts contenus dans /etc/*/: c'est plein de "rm -rf" dans tous les sens, et vas-y que ça nettoie des verrous, des fichiers temporaires, que ça remet tout à zéro. C'est pour ça qu'on a un système qui ne grossit pas avec le temps, nous tongue

Du coup, ajouter une confirmation ferait que le démarrage et l'extinction d'un unix-like seraient beaucoup trop interactifs.
Ou alors, il faudrait un paramètre à ajouter pour supprimer la confirmation, et mettre à jour les scripts: mais on verrait vite fleurir dans les .bashrc des "alias rm='rm --no-confirm", et on serait exactement dans la même situation big_smile


Red flashing lights. I bet they mean something.

Hors ligne