Không thể xóa một tập tin - quyền bị từ chối - tại sao?


12
[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

Người dùng đã đăng nhập hiện tại (db2inst1) là một phần của nhóm db2iadm1 có quyền w với tệp tôi muốn xóa. Nhưng tôi không thể. Bất cứ ý tưởng tại sao?

cập nhật - cấp phép cho thư mục cha

drwxr-sr-x 2 root db2iadm1 4096 ngày 22 tháng 8 14:39 db2dump


2
Các quyền trên thư mục cha là gì? Xem tại sao có thể rmxóa các tệp chỉ đọc?
ire_and_curses

Câu trả lời:


11

Để xóa một tệp, bạn phải có quyền ghi trên thư mục chứa tệp. Khi bạn tạo rmtệp, nó thực hiện unlinkcuộc gọi hệ thống sẽ xóa tên khỏi thư mục. Điều này chỉ xóa các tập tin nếu nó là liên kết cuối cùng còn lại đến inode.

Bạn có thể tìm thêm thông tin trong unlink (2) .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.