![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]()
Message
#1
|
|
![]() Méchant modérateur paranoïaque ![]() ![]() ![]() ![]() ![]() Groupe : Modérateurs Messages : 10 755 Inscrit : 24 Jan 2002 Lieu : Confoederatio Helvetica, Kanton Wallis Membre no 1 865 ![]() |
Comment effacer un fichier récalcitrant:
-------------------- Nothing Else Matters
|
|
|
![]() |
![]()
Message
#2
|
|
![]() Moderating Daemon ![]() ![]() ![]() ![]() ![]() Groupe : Modérateurs Messages : 6 345 Inscrit : 22 Feb 2004 Lieu : Yvelines/Cambridge (GB), dans mon pantalon Membre no 15 207 ![]() |
En plus des droits "normaux" sur les fichiers, il existe 2 autres choses qui peuvent empêcher l'effacement d'un fichier, les attributs uchg et schg
Pour voir ces attributs, on peut utiliser la commande ls -ol, par exemple si je tape ça sur un petit dossier que j'ai préparé : CODE fcomp:~/test fred$ ls -ol total 0 -rw-r--r-- 1 fred admin schg,uchg 0 5 Aug 15:34 fichier1 -rw-r--r-- 1 fred admin uchg 0 5 Aug 15:34 fichier2 -rw-r--r-- 1 fred admin - 0 5 Aug 15:34 fichier3 Là on voit que fichier2 a l'attribut uchg, fichier1 a les attributs uchg et schg et fichier 3 n'a ni l'un ni l'autre. Il y a également d'autres attributs, mais on s'éloigne du sujet. L'attribut uchg ("user immutable") correspond à la notion traditionnelle d'un fichier verrouillé que l'on peut voir dans les infos sur un fichier dans le Finder. On peut l'enlever avec le Finder, en décochant la case, ou alors avec la commande CODE chflags nouchg monfichier chflags est un programme qui permet de manipuler ces attributs. Le préfixe no lui dit d'enlever l'attribut uchg au lieu de le rajouter. Enfin monfichier est le chemin du fichier à torturer. Le super utilisateur (que ce soit via sudo ou su) peut effacer les fichiers avec cet attribut sans en tenir compte. L'attribut schg ("system immutable") est dans le même genre, mais plus coriace: seul root peut ajouter cet attribut, et en temps normal personne ne peut l'enlever ou l'ignorer, même pas root. Pour enlever cet attribut il faut redémarrer en single user (pomme S au démarrage) et faire: CODE /sbin/mount -uw / /sbin/autodiskmount -va /usr/bin/chflags noschg monfichier La ligne "/sbin/autodiskmount -va" est nécessaire seulement si le fichier en question n'est pas sur le disque de démarrage. Les fichiers du disque bidule se trouvent alors dans le dossier /Volume/bidule Certains se demandent peut-être à quoi peut servir cette option à part embêter tout le monde. C'est une question de sécurité. Si quelqu'un prend le contrôle à distance d'une machine et qu'il arrive à avoir root, il ne pourra pas modifier un fichier avec l'attribut schg (en single user il n'y a pas d'accès au réseau). C'est donc un peu de sécurité en plus, mais avec comme désavantage que c'est plus contraignant. -------------------- G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A MacBook core duo 1.83 GHz |
|
|
![]() ![]() |
Nous sommes le : 18th July 2025 - 07:54 |