Que se passerait-il si j’exécutais ‘sudo rm -rf *’ sur le dossier racine de mon ordinateur ?


Sur Unix, en général, vous'êtes autorisé à supprimer des fichiers et des répertoires même s'ils sont utilisés. En fait, vous n'avez même pas besoin d'être root pour le faire : si vous avez la permission de supprimer un fichier ou un répertoire, alors vous avez la permission de le faire, que le fichier soit en cours d'utilisation, que le répertoire soit en cours d'utilisation ou qu'un fichier à l'intérieur du répertoire soit en cours d'utilisation. Si vous supprimez un fichier qui est en cours d'utilisation, le système ne le désalloue pas réellement du système de fichiers jusqu'à ce que son compte de référence atteigne zéro, c'est-à-dire que tous les descripteurs de fichiers de ce fichier soient fermés. Cela contraste avec Windows, sur lequel vous n'êtes tout simplement pas autorisé à supprimer un fichier qui est en cours d'utilisation, même si vous avez des privilèges administratifs.


Cependant, POSIX fait une exception : vous pourriez ne pas être autorisé à supprimer un répertoire si c'est le répertoire racine ou le répertoire de travail actuel du processus appelant ou d'un autre processus. (Le système est autorisé à vous laisser le faire, mais il'est également autorisé à ne pas vous laisser le faire.)

Donc, par exemple, il serait sûr de supposer que les répertoires /lib et /bin seraient entièrement supprimés puisqu'il est peu probable qu'un processus les ait comme répertoire racine ou répertoire de travail courant. Après cela, il'est peu probable que vous'puissiez exécuter d'autres exécutables, bien que le shell continue de fonctionner.


Sur Linux, vous n'êtes pas non plus autorisé à supprimer un répertoire s'il s'agit d'un point de montage. En général, les éléments suivants sont des points de montage : /dev/pts, /proc, /run, /sys. Vous pourriez probablement supprimer tout ce qui se trouve dans /dev, à l'exception de /dev/pts, de sorte que le répertoire /dev lui-même survivrait. (Notez que vous pouvez toujours supprimer les fichiers de périphériques, même s'ils sont montés : la chose qui est montée n'est pas protégée, mais l'endroit où elle est montée l'est). /proc et /sys ne seraient pas touchés puisqu'ils sont de toute façon des systèmes de fichiers en lecture seule. Vous pourriez probablement supprimer la plupart ou la totalité du contenu de /run, mais pas /run lui-même. /media survivrait également si vous avez quelque chose de monté sous ce système. /boot et /etc seront probablement supprimés dans leur intégralité. Les répertoires de premier niveau restants peuvent ou non être des points de montage. J'ai /home, /usr et /var sur la même partition que tout le reste, mais beaucoup de systèmes les ont sur des partitions séparées. Dans ce cas, ces répertoires seraient des points de montage, et vous ne pourriez pas les supprimer, bien que vous puissiez probablement supprimer la totalité ou la quasi-totalité de leur contenu.

.