Linux – 777 권한을 가진 소유 파일을 제거 할 수 없습니다 이동하거나 그것들을 삭제하십시오. ls

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

아무도 무슨 일이 일어나고 있는지 말해 줄 수 있습니까?



답변

하나의 파일을 제거하려면 이 파일이 포함 된 디렉토리 에 대한 쓰기 권한이 필요 합니다.

여기에 권한이 dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .있으므로이 이외의 다른 사람 은 root이 디렉토리 내의 파일을 제거 할 수 없습니다. 소유자는 chmod먼저 사용해야합니다 .



1. 그 이유는 꽤 있습니다. 로 파일을 ‘제거’하면 rm실제로 디렉토리에서 링크 를 해제 하려고합니다 (하드 카피 된 사본은 삭제되지 않음).


답변

나는 같은 문제가 있었고 chmod혼자서는 그 트릭을하지 않았다. 먼저 제거하려는 파일의 소유자 (사용자 및 그룹)를 변경해야했습니다.

sudo chown -hR root:admin dir_to_delete

설명:

  • sudo: 적절한 권리가 있는지 확인하십시오
  • chown: 파일 소유자를 변경하는 Linux 명령
  • -hR: 디렉토리 및 모든 하위 디렉토리의 소유자를 변경합니다. 여기 에서 찾았습니다 .
  • root: 새로운 사용자의 이름
  • admin: 새로운 그룹의 이름

이미 수정자를 777로 변경했습니다. 그것이 필요한지 모르겠습니다.


답변

또 다른 가능한 질문은 속성입니다

lsattr file

이 명령은 파일의 속성을 표시하며 ‘i’속성을 가진 파일은 수정할 수 없으며 삭제할 수 없습니다

파일의 속성을 확인하고 속성이 설정된 경우 ‘i’속성을 제거하십시오.

chattr -i file

답변

그 이유는 부모 디렉토리가 chmod 705그와 비슷한 것이기 때문입니다. chmod다음 명령으로 상위 디렉토리를 작성할 수 있습니다 .

chmod -R 777 directory_name

그런 다음 해당 디렉토리와 디렉토리에 포함 된 파일을 제거 할 수 있습니다.