Права доступа к символическим ссылкам не изменяются с помощью chmod

12

У меня есть доступ к удаленной машине Linux, где каждый раз, когда я создаю символическую ссылку, она создается по умолчанию со следующими разрешениями: lrwxrwxrwx

Если я попытаюсь изменить разрешения символической ссылки (то есть не пути, на который она указывает), используя, например:

chmod g-w my_symbolic_link

chmodработает правильно (сообщение об ошибке не выводится), но когда я снова проверяю разрешения, они остаются прежними ( lrwxrwxrwx).

Я жду, чтобы услышать от администратора машины, но мне было интересно, если это нормальное поведение, или это что-то конкретное для коробки.

Амелио Васкес-Рейна
источник

Ответы:

16

Это нормальное поведение. То, что происходит, может варьироваться в зависимости от операционной системы (Solaris, по крайней мере, используется для изменения разрешений канала); но поскольку символическая ссылка не является обычным файлом, разрешения фактически ни к чему не привыкают. (Права доступа к файлам являются частью inode файла, поэтому символическая ссылка не может повлиять на них.)

geekosaur
источник
Ясно спасибо. Я просто хочу, чтобы никто не удалил символическую ссылку. Из чего я понимаю, тогда я не могу изменить разрешение этой ссылки без помощи админа, верно?
Амелио Васкес-Рейна
4
Даже с помощью администратора. Удаление файла зависит от прав доступа к каталогу, а не от файла. ( rmспециально проверяет файл только для чтения, если вы не пропустите -f, потому что обычно не предполагается, что файл только для чтения будет удален, но его unlink()это не волнует. Попробуйте это когда-нибудь из Perl или Python.)
geekosaur