루트가 소유한 폴더에 대한 권한

루트가 소유한 폴더에 대한 권한

777 권한을 가진 루트로 디렉터리를 생성하면 기본 사용자로 로그인하면 삭제할 수 있지만, a또는 사용자로 b로그인하면 삭제할 수 없습니다 . 표시 권한이 거부되었습니다.

내 질문은 내 기본 사용자가 루트가 만든 폴더를 삭제할 수 있지만 모든 사람이 777 권한을 가지고 있기 때문에 다른 사용자는 삭제할 수 없는 이유입니다.

답변1

사용자에게 디렉터리에 대한 쓰기 및 실행 권한이 있는 경우 소유권에 관계없이 그 안에 있는 모든 파일이나 디렉터리를 삭제할 수 있습니다. 디렉터리에서 파일이나 하위 디렉터리를 삭제하는 것은 삭제된 내용이 아니라 디렉터리를 수정하는 것이기 때문입니다.

예: 내가 소유한 디렉터리 내에 루트 소유 디렉터리를 만든 다음 삭제합니다.

$ sudo mkdir directory
$ ls -l
total 4
drwxr-xr-x  2 root  wheel  512 Nov 25 11:11 directory
$ rmdir directory
$ ls -l

(출력 없음)

이제 하위 디렉토리가파일 포함, 그러면 디렉토리의 권한이 더욱 흥미로워집니다.

$ sudo mkdir directory
$ sudo touch directory/file
$ rm -rf directory
rm: directory/file: Permission denied
rm: directory: Directory not empty

여기서는 하위 디렉터리에 있는 파일을 삭제할 권한이 없기 때문에 하위 디렉터리를 삭제할 수 없습니다.

하지만 권한이 로 설정되어 있다고 말하면 777누구나 파일을 삭제할 수 있다는 의미입니다.

$ sudo chmod 777 directory
$ rm -rf directory

(오류 없음)

내 시스템의 다른 사용자는 내가 작업 중인 디렉터리에 쓰기 권한이 없기 때문에 여전히 이 작업을 수행할 수 없습니다.할 수 있다아니면 삭제하세요콘텐츠루트가 소유한 하위 디렉터리인 디렉터리에 대한 액세스 권한이 있는 경우(사용자에게는 디렉터리에 대한 실행 권한이 필요하며,모든 상위 디렉토리).

관련 정보