Dans mon département, nous avons un petit serveur de fichiers avec CentOS et samba. J'ai un accès root pour pouvoir effectuer une maintenance de base.
Aujourd'hui, je faisais certains dossiers en lecture seule, alors j'ai continué et j'ai fait un chmod -R -w some-folder/
, mais pour quelques fichiers, j'ai obtenu la réponse:
chmod: ./somefile.pdf: les nouvelles autorisations sont r-xrwxr-x, pas r-xr-xr-x
Après avoir ajouté, -v
je ne reçois pas beaucoup d'informations:
mode de `./somefile.pdf 'conservé comme 0575 (r-xrwxr-x)
J'ai essayé ce qui suit juste pour m'assurer:
# touch test-file
# chmod -v -R -w .
mode of `./somefile.pdf' retained as 0575 (r-xrwxr-x)
chmod: ./somefile.pdf: new permissions are r-xrwxr-x, not r-xr-xr-x
mode of `./test-file' changed to 0444 (r--r--r--)
Je ne vois pas de bonnes raisons pour lesquelles root ne pourrait pas faire un chmod?
Quelques morceaux:
- Le système de fichiers n'est pas en lecture seule (seuls certains fichiers ont refusé d'être modifiés).
- J'ai exécuté les commandes chmod en tant que root mais sans effet.
- La partition où résident les fichiers est ext4.
MISES À JOUR : Ceci est la sortie pour lsattr
le fichier et le dossier contenant:
# lsattr somefile.pdf
-------------e- somefile.pdf
# lsattr ..
-------------e- ../myfolder
Il n'y a pas de setuid présent ( ls -la
):
dr-xr-xr-x 2 userxyz abc 4096 May 30 09:29 .
dr-xr-xr-x 17 userxyz abc 4096 Sep 19 2013 ..
-r-xrwxr-x 1 userxyz abc 275150 Aug 6 2013 somefile.pdf
lsattr
ces mêmes fichiers et le répertoire au-dessus?Réponses:
Selon les sources, vous disposez d'un mode attendu naïf . Après avoir abandonné plus, je pense que la cause est l'
-w
option, ce qui n'est pas ce que vous attendez. Vous devez donnerg-w
ouugo-w
(selon vos besoins).Sans donner une cible explicite (a, o, g, u), des résultats inattendus pourraient être fournis, selon la valeur umask. Je pense que ce message supplémentaire est fait à cause de ces changements inattendus.
Edit: sources dans http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/chmod.c#n301
Tiré du cache Google, un commentaire dans ce code qui n'est plus là:
la source
ugo-w
et il ne se plaint plus. J'attendrai un peu de temps avant d'accepter par courtoisie les répondeurs potentiels.