1 votes

Exécuter script pour supprimer le HD

Existe-t-il un moyen d'exécuter un script sur un Mac qui fera littéralement ( sudo rm -rf / ) ?

Je dois planifier un nettoyage complet de mon disque dur vendredi prochain à 18 heures. Je ne suis pas très familier avec les scripts et il n'y a donc pas de réponse claire pour moi. Puis-je exécuter un scripts qui n'implique pas que j'accorde l'autorisation d'effacer le disque dur ? sudo mot de passe ? J'ai mon mot de passe d'utilisateur root.

3voto

klanomath Points 63400

Il suffit de créer un démon de lancement avec

sudo touch /Library/LaunchDaemons/user.local.rm.plist
sudo chown root:wheel /Library/LaunchDaemons/user.local.rm.plist
sudo chmod 644 /Library/LaunchDaemons/user.local.rm.plist

Ouvrez un éditeur :

sudo nano /Library/LaunchDaemons/user.local.rm.plist

et modifiez le contenu suivant :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>user.local.rm</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/rm</string>
        <string>-rf</string>
        <string>/</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>18</integer>
        <key>Minute</key>
        <integer>00</integer>
        <key>Weekday</key>
        <integer>5</integer>
    </dict>
</dict>
</plist>

Charger le démon de lancement avec :

sudo launchctl load /Library/LaunchDaemons/user.local.rm.plist

Cette opération permet de supprimer presque tous les fichiers et dossiers de votre disque interne. suivant vendredi. Ma machine virtuelle s'est arrêtée de fonctionner avec un dossier Root vide et (selon la barre d'état) ~6 GB d'espace disque occupé. Finalement, c'est peut-être moins et les "6 GB" étaient juste la dernière valeur rapportée.

Cela n'effacera pas complètement (= écrasement avec des données aléatoires) vos fichiers et dossiers : tout outil de récupération de données digne de ce nom restaurera probablement la quasi-totalité du contenu antérieur.

Dans El Capitan, cela ne fonctionne que si SIP est désactivé !

-1voto

MacManager Points 1564

Vous pouvez probablement le faire dans un script- si vous pouvez le faire sur la ligne de commande, alors vous pouvez le faire dans un script, aussi. Mais cela semble désordonné - je ne suis pas sûr de savoir combien de données seront réellement effacées avant que le système ne se bloque. Je me demande ce qui sera laissé derrière.

Je suis curieux de savoir quel problème vous essayez de résoudre ici (autre que l'effacement d'un disque à un moment précis)... Réinstallez-vous un système d'exploitation lorsque vous avez terminé ? Si vous pouvez configurer un serveur NetBoot, vous pouvez alors créer une image NetInstall ou NetRestore qui effacera automatiquement un nom de volume spécifique.

Une autre idée consiste à supprimer le compte de l'utilisateur, en supposant que les données qui vous préoccupent sont contenues dans le répertoire personnel de l'utilisateur.

-1voto

Murat Corlu Points 2751

Même réponse que klanomath .

Si vous êtes paranoïaque, vous pouvez remplacer rm par srm pour un retrait sécurisé, mais cela peut prendre beaucoup de temps supplémentaire.

Dans le cadre de la klanomath .plist vous pouvez écrire :

<key>ProgramArguments</key>
<array>
    <string>/usr/bin/srm</string>
    <string>-r</string>
    <string>-m</string>
    <string>/</string>
</array>

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X