Linux – не может удалить принадлежащий ему файл с 777 правами доступа

У меня есть несколько файлов, которые я не могу удалить с помощью команды rf -Rf . Я являюсь владельцем этого файла, и группа, назначенная этим файлам, также является группой, в которой находится мой пользователь. Что еще более странно, так это то, что я могу редактировать их содержимое, и я могу изменить разрешения для них, но я не могу двигаться или Удалите их.

 ls -al total 12 dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 . drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 .. -rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 default.settings.php drwxrwxrwx 2 rayell pg1083760 4096 2011-09-02 04:33 files -rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 settings.php rm -Rf * rm: cannot remove `default.settings.php': Permission denied rm: cannot remove directory `files': Permission denied rm: cannot remove `settings.php': Permission denied 

Может ли кто-нибудь сказать мне, что происходит?

4 Solutions collect form web for “Linux – не может удалить принадлежащий ему файл с 777 правами доступа”

Чтобы удалить один файл, вам нужно разрешение на запись в каталог, содержащий ¹ этого файла.

Здесь разрешениями являются dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 . Поэтому никто (кроме root ) не может удалить файлы внутри этого каталога. Владелец должен сначала использовать chmod .


1. Для этого есть веские причины. «Удалив» файл с помощью rm , вы на самом деле пытаетесь отсоединить его от каталога (скопированные копии не будут удалены).

Причина в том, что родительский каталог имеет chmod 705 или что-то в этом роде. Вы можете chmod родительский каталог с помощью следующей команды:

 chmod -R 777 directory_name 

После этого вы можете удалить этот каталог и файлы, которые он содержит.

У меня была та же проблема, и только один chmod не сделал этого. Сначала мне пришлось сменить владельца (пользователя и группу) файлов, которые я хотел удалить.

 sudo chown -hR root:admin dir_to_delete 

Объяснение:

  • sudo : убедитесь, что у вас есть соответствующие права
  • chown : команда Linux для изменения владельца файла
  • -hR : изменить владельца каталога и всех подкаталогов. Я нашел его здесь .
  • root : имя нового пользователя
  • admin : имя новой группы

Я уже изменил модификаторы до 777; Я не знаю, было ли это необходимо или нет.

Другим возможным вопросом является атрибут

 lsattr file 

Эта команда покажет вам атрибут файла, и файл с атрибутом «i» не может быть изменен (и будет удален)

Поэтому проверьте атрибут файла и удалите атрибут «i», если атрибут установлен

 chattr -i file 
  • Как далеко вы получите команду «rm -rf /»?
  • Когда rm удаляет открытые файлы?
  • Можно ли перечислить имена файлов (или их родительские каталоги), которые были недавно удалены с помощью rm в OS X?
  • Как удалить все файлы в каталоге, кроме некоторых?
  • Запретить пользователю вводить случайное пространство между rm и wildcard
  • Где идут файлы и каталоги, когда я запускаю 'rm -rf folder_or_file_name' в Ubuntu 10.04?
  • Как восстановить удаленный файл под Linux?
  • Давайте будем гением компьютера.