Solution rapide pour empêcher les changements de mot de passe non autorisés dscl dans OS X Lion
Nous avons récemment écrit sur l'utilitaire dscl et comment il permet à un utilisateur de Mac OS X Lion de changer un mot de passe sans connaître le mot de passe existant. L'absence d'authentification administrateur requise a depuis été largement signalée comme un bogue, et une petite mise à jour de sécurité sera probablement publiée par Apple dans un proche avenir. Néanmoins, si vous êtes paranoïaque à l'idée que quelqu'un s'empare de votre Mac et modifie le mot de passe utilisateur sans autorisation, vous pouvez modifier manuellement les autorisations de l'utilitaire dscl vous-même, le forçant à exiger des privilèges administratifs pour être exécuté.
- Lancer le terminal (situé dans /Applications/Utilitaires/)
- Tapez la commande suivante et appuyez sur Entrée :
- On vous demandera le mot de passe administratif actuel pour confirmer la modification des autorisations, entrez-le et appuyez sur retour
sudo chmod 100 /usr/bin/dscl
Il s'agit d'un simple correctif d'autorisations qui imite probablement ce qu'une mise à jour de sécurité officielle fera. L'utilisation de sudo chmod 100 indique que seul le propriétaire (root) est en mesure d'exécuter la commande dscl, ce qui empêche efficacement les autres utilisateurs non administrateurs d'accéder à l'utilitaire des services d'annuaire sans utiliser la commande sudo, et donc le mot de passe administrateur.
La modification de ces autorisations peut avoir des conséquences imprévues, mais il est peu probable que cela affecte la plupart des utilisateurs. Si vous rencontrez des problèmes, vous pouvez toujours modifier les autorisations, qui semblent être définies sur 755 par défaut.
Un grand merci à "Tjb" qui a laissé cette astuce dans les commentaires !
Mise à jour : Jim T a laissé la recommandation suivante dans les commentaires, suggérant une autre commande chmod pour modifier les autorisations :
Son raisonnement est que chmod 100 est trop restrictif dans la mesure où il modifie la commande pour qu'elle s'exécute uniquement, alors qu'avant, l'utilisateur root pouvait lire, écrire et exécuter.