5

Я использовал следующую команду для создания жесткой ссылки на исполняемый файл:

ln `which xcrun` gcc

Ссылка работала как положено. Однако, похоже, у меня нет прав на его удаление.

$ rm gcc
override rwxr-xr-x  root/wheel compressed for gcc? y
rm: gcc: Permission denied
$ unlink gcc
unlink: gcc: Permission denied

Ооо

$ ls -l gcc
-rwxr-xr-x  3 root  wheel  1172 May 10  2012 gcc

У меня нет доступа к sudo . Что мне нужно сделать, чтобы удалить жесткую ссылку?

2 ответа2

7

Сделай лс-лд. каталога, содержащего жесткую ссылку. Если у вас есть каталог (или у вас есть разрешение 'w'), вы сможете удалить его. Если в каталоге (например, /tmp) установлено значение «t» (sticky bit), вы не сможете удалить эту ссылку, поскольку вы не являетесь владельцем файла. В следующий раз используйте ln -s (символическая ссылка). Списки ACL также могут помешать вам удалить файл.

3

Жесткая ссылка создается с оригинальными разрешениями, потому что в противном случае любой мог бы сам дать разрешение на редактирование любого файла.

Вам нужно разрешение на запись в родительскую папку, чтобы иметь возможность удалить файл. Убедитесь, что нет списков ACL (ls -e), мешающих вам сделать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .