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 
  • Как удалить все файлы, кроме одного в Unix?
  • Как ограничить использование процессора и диска rm, чтобы другие программы оставались функциональными
  • Mac-клавиатура для rm-файла
  • Удаление файлов не освобождает место
  • Удалите все файлы, кроме одного с rm
  • Как далеко вы получите команду «rm -rf /»?
  • Где идут файлы и каталоги, когда я запускаю 'rm -rf folder_or_file_name' в Ubuntu 10.04?
  • Interesting Posts

    Как сделать снимок экрана над окном, большим, чем экран

    Будет ли мое устройство потерять соединение при переключении на другой канал на том же SSID?

    Удаление файлов в Windows XP крайне медленно

    Можно ли загрузиться из ISO по сети и как?

    Изменение разрешения экрана гостевого экрана MacOS X для VirtualBox

    Visual Studio показывает ошибки IntelliSense, но компиляции решений

    Как иметь ячейку, которая отображает кумулятивное значение всех значений, введенных в другую ячейку?

    OpenOffice «строка» для звездочек … как удалить! # $ Вещь?

    Почему SMART проходит, пока он указывает на ошибку для частоты ошибок чтения RAW?

    Разность Rsync между двумя каталогами в 3-й каталог

    Как запросить NTP-сервер с помощью C #?

    Как проверить активное подключение к Интернету на iOS или macOS?

    4gb одноканальный и 3gb двухканальный

    Где находится папка избранных в Windows 7?

    Извлечь строку, соответствующую минимальному значению переменной по группе

    Давайте будем гением компьютера.