В моем отделе у нас есть небольшой файловый сервер с CentOS и samba. У меня есть root-доступ, чтобы я мог выполнять некоторые базовые операции.
Сегодня я делал некоторые папки только для чтения, поэтому я сделал это chmod -R -w some-folder/
, но для нескольких файлов я получил ответ:
chmod: ./somefile.pdf: новые разрешения: r-xrwxr-x, а не r-xr-xr-x
После добавления -v
я не получаю много информации:
режим `./somefile.pdf 'сохраняется как 0575 (r-xrwxr-x)
Я попробовал следующее, чтобы убедиться:
# 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--)
Я не могу придумать каких-либо веских причин, почему root не сможет выполнить chmod?
Некоторые лакомые кусочки:
- Файловая система не только для чтения (только некоторые файлы отказались от chmodded).
- Я запускал команды chmod от имени пользователя root, но безрезультатно.
- Раздел, в котором находятся файлы - это ext4.
ОБНОВЛЕНИЯ : Это вывод для lsattr
файла и содержит папку:
# lsattr somefile.pdf
-------------e- somefile.pdf
# lsattr ..
-------------e- ../myfolder
Там нет 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
этих файлов и каталога над ним?Ответы:
По словам источников, у вас наивный ожидаемый режим . После того, как я отказался от этого, я думаю, что причина - это
-w
вариант, а не то, что вы ожидаете. Вы должны датьg-w
илиugo-w
(в соответствии с вашими потребностями).Без указания явной цели (a, o, g, u) могут быть получены некоторые неожиданные результаты в соответствии со значением umask. Я думаю, что такое дополнительное сообщение сделано из-за таких неожиданных изменений.
Изменить: источники в http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/chmod.c#n301
Взято из кеша Google, комментарий в этом коде, которого больше нет:
источник
ugo-w
и больше не жалуюсь. Я подожду некоторое время, прежде чем принять из вежливости к потенциальным ответчикам.