Avec les outils intégrés (et sans utiliser de services externes tels que "Trouver mon Mac" et "Effacer mon Mac à distance" via iCloud), il est impossible d'effacer ou de reformater le volume de démarrage avec diskutil ...
car le disque est occupé .
Vous pouvez cependant supprimer votre dossier utilisateur:
La méthode ci-dessous utilise une politique de mot de passe et selon l'état des capacités de connexion utilisateur, un démon de lancement et un script bash invoqué par le démon supprimera le dossier utilisateur.
Créez une liste de règles de mot de passe sur votre bureau:
<?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>policyCategoryAuthentication</key>
<array>
<dict>
<key>policyContent</key>
<string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) or (policyAttributeCurrentTime > policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds)</string>
<key>policyIdentifier</key>
<string>com.apple.maximumFailedLoginAttempts</string>
<key>policyParameters</key>
<dict>
<key>autoEnableInSeconds</key>
<integer>31536000</integer>
<key>policyAttributeMaximumFailedAuthentications</key>
<integer>10</integer>
</dict>
</dict>
</array>
</dict>
</plist>
Les capacités de connexion utilisateur seront désactivées après 10 tentatives de connexion infructueuses pendant 31536000 secondes (= un an).
Créez un script bash rmuserdir.sh :
#!/bin/bash
PWPOL=$(pwpolicy -u username authentication-allowed)
if [[ $PWPOL == 'User <username> is not allowed to authenticate: Failed global policy "com.apple.maximumFailedLoginAttempts"' ]]
then rm -fR /Users/username
fi
dans / usr / local / bin / et rendez-le exécutable. Remplacez le nom d' utilisateur de chaîne par le nom de votre utilisateur, mais conservez les crochets dans l'instruction if!
Créez un démon de lancement org.userdirrm.plist dans / Library / LaunchDaemons / avec le contenu:
<?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>org.userdirrm</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/usr/local/bin/rmuserdir.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/org.userdirrm.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/org.userdirrm.stdout</string>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
Le propriétaire et le groupe du fichier doivent être root: les autorisations de roue et de fichier doivent être 644. Le démon s'exécutera toutes les 60 secondes. Vous pouvez modifier cela en modifiant l'entier dans la clé StartInterval .
Importez la politique de mot de passe:
pwpolicy setaccountpolicies ~/Desktop/pwpolicy.plist
Vous devez entrer votre mot de passe (authentificateur = administrateur).
Lancez le démon:
sudo launchctl load /Library/LaunchDaemons/org.userdirrm.plist
Vous pouvez tester la configuration en créant un utilisateur de stub, en modifiant temporairement le nom d'utilisateur dans le script bash et en entrant des mots de passe incorrects en essayant de vous connecter avec cet utilisateur de stub. Vous pouvez réduire temporairement le nombre de tentatives de connexion ayant échoué à 3 dans la stratégie de mot de passe pour raccourcir le test.
Tweaks:
ajout de l'option (rm) -P dans le script shell:
Écraser les fichiers normaux avant de les supprimer. Les fichiers sont remplacés trois fois, d'abord avec le modèle d'octet 0xff, puis 0x00, puis à nouveau 0xff, avant d'être supprimés.
essayer de supprimer le dossier racine au lieu de votre dossier utilisateur:
rm -fR /
ou
rm -fRP /
Les fichiers protégés par SIP ne seront pas supprimés / écrasés! Pour les supprimer / supprimer / écraser également, vous devez désactiver SIP.
- essayez d'obtenir le srm binaire à partir d'une ancienne installation d'OS X, ajoutez-le à High Sierra et utilisez-le dans le script bash au lieu de rm . Le srm binaire supprime en toute sécurité les fichiers ou répertoires. Vérifiez
man srm
d'autres options (je n'ai pas testé cela).
À mon avis, la méthode décrite ci-dessus peut être contournée en démarrant en mode mono-utilisateur, en lançant l'opendirectoryd avec launchctl (après la vérification obligatoire du système de fichiers et le montage du volume de démarrage sur /) et en supprimant toutes les politiques de mot de passe avec pwpolicy -clearaccountpolicies
.
Par conséquent, le formatage ou l'effacement des disques ou des dossiers pour "gagner en sécurité" n'est pas recommandé. Au lieu de cela, chiffrez votre volume principal avec FileVault2 et utilisez de bons mots de passe pour tous les utilisateurs.