W moim dziale mamy mały serwer plików z CentOS i sambą. Mam dostęp do konta root, aby móc wykonać podstawową konserwację.
Dzisiaj robiłem niektóre foldery tylko do odczytu, więc zrobiłem krok dalej chmod -R -w some-folder/
, ale dla kilku plików otrzymałem odpowiedź:
chmod: ./somefile.pdf: nowe uprawnienia to r-xrwxr-x, a nie r-xr-xr-x
Po dodaniu -v
nie otrzymuję wielu informacji:
tryb `./somefile.pdf 'zachowany jako 0575 (r-xrwxr-x)
Próbowałem, aby się upewnić:
# 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--)
Nie mogę wymyślić żadnych dobrych powodów, dla których root nie byłby w stanie zrobić chmod?
Niektóre ciekawostki:
- System plików nie jest tylko do odczytu (tylko niektóre pliki nie zostały chmodded).
- Uruchomiłem polecenia chmod jako root, ale bez skutku.
- Partycja, na której znajdują się pliki, to ext4.
AKTUALIZACJE : To jest wynik dla lsattr
pliku zawierającego folder:
# lsattr somefile.pdf
-------------e- somefile.pdf
# lsattr ..
-------------e- ../myfolder
Nie ma setuid ( 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
tych samych plików i katalogu nad nimi?Odpowiedzi:
Według źródeł masz naiwny oczekiwany tryb . Po tym, jak porzuciłem więcej, myślę, że przyczyną jest
-w
opcja, której nie oczekujesz. Powinieneś daćg-w
lubugo-w
(w zależności od potrzeb).Bez podania wyraźnego celu (a, o, g, u) można uzyskać pewne nieoczekiwane wyniki, zgodnie z wartością umask. Myślę, że taka dodatkowa wiadomość została wykonana z powodu takich nieoczekiwanych zmian.
Edycja: źródła w http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/chmod.c#n301
Zaczerpnięty z pamięci podręcznej Google komentarz w tym kodzie, którego już nie ma:
źródło
ugo-w
i już nie narzeka. Zaczekam trochę czasu, zanim przyjmę z grzeczności potencjalne odpowiedzi.