일반적으로 거의 모든 파일시스템에서, 파일을 삭제하기 위해서는 그 파일의 부모 디렉터리에 파일 쓰기 권한이 있어야 한다. (더불어 일단 디렉터리에 들어가기 위해 실행 권한이 있어야 한다). (초심자에겐 혼란스럽겠지만, 파일 자체의 권한은 상관이 없다.)

디렉터리를 (rm -r)으로 삭제하기 위해선, 그 아래의 내용을 재귀적으로 모두 지워야 한다. 이것은 그 디렉터리를 쓰고 실행하는 권한을 요구하고 (만약 그것이 비어있지 않다면) 그리고 안의 서브 디렉터리들 역시 비워야 한다 (어떠한 것이든지). 이런 원리는 좀 재미있는 상황을 만들기도 하는데, 디렉터리가 비어있지 않고, 쓰기 권한이 없다면, 그 하위의 내용을 지울 수 없기 때문에 디렉터리를 지울 수 없는 반면에, 이 디렉터리가 비어있기만 하면, 디렉터리에 쓰기 권한이 없더라도 삭제할 수 있다.

만약에 파일이 디렉터리에 sticky bit세트와 함께 있다면, 그 때는 파일의 삭제를 위해 파일의 소유자가 수행해야 한다.

 

 

우왕

'OS' 카테고리의 다른 글

Endian 별 OS 종류  (0) 2022.08.25
core 확인  (0) 2022.08.25
valgrind  (0) 2022.08.25
GDB  (0) 2022.08.25

+ Recent posts