파일을 삭제할 수 없습니다-권한이 거부되었습니다-이유는 무엇입니까?


13
[db2inst1][testing ~/sqllib/db2dump] rm db2diag.log 
rm: cannot remove `db2diag.log': Permission denied
[db2inst1][testing ~/sqllib/db2dump] id
uid=1002(db2inst1) gid=107(db2iadm1) groups=16(dialout),33(video),107(db2iadm1),108(db2fadm1),1001(eduserver)
[db2inst1][testing ~/sqllib/db2dump] ll
total 1381172
-rw-rw-rw- 1 root db2iadm1 1412931954 Oct  2 10:24 db2diag.log

현재 로깅 된 사용자 (db2inst1)는 삭제하려는 파일에 대한 w 권한이있는 db2iadm1 그룹의 일부입니다. 그러나 나는 할 수 없다. 왜 그런지 알아?

업데이트-상위 디렉토리에 대한 권한

drwxr-sr-x 2 루트 db2iadm1 4096 8 월 22 일 14:39 db2dump


2
부모 디렉토리에 대한 권한은 무엇입니까? 읽기 전용 파일을 제거 할 수있는 이유를rm
ire_and_curses

답변:


12

파일을 삭제하려면 파일이있는 디렉토리에 대한 쓰기 권한이 있어야합니다. rm파일을 unlink호출하면 디렉토리에서 이름을 제거하는 시스템 호출이 작성됩니다. 파일이 inode에 마지막으로 남아있는 링크 인 경우에만 파일을 삭제합니다.

unlink (2) 에서 자세한 정보를 찾을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.