Không thể xóa tệp trong $ HOME


8

Tôi phải Sao lưu toàn bộ Hệ thống của mình, vì ổ cứng của tôi sắp chết.

Trong $ HOME có một tệp .rsync.logmà tôi không thể xóa với tư cách là người dùng hoặc root.

LANG=C rm -f /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
rm: cannot remove '/media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log': Operation not permitted

Tôi đã chạy một kiểm tra hệ thống tập tin, nhưng nó không hoạt động.

LANG=C getfacl /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
getfacl: Removing leading '/' from absolute path names
# file: media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
# owner: alex
# group: alex
user::rw-
group::r--
other::r--

lsattr /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log 
-----a-------e-- /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log

Hệ thống tập tin là ext4.

Tôi cần phải thoát khỏi tệp này trước khi tạo bản sao lưu của mình từ $ HOME. Làm thế nào tôi có thể làm như vậy?


Việc xóa một tệp phải được thực hiện với các quyền trên thư mục cơ sở, thay vì với các quyền trên chính tệp đó.
Satō Katsura

Trong trường hợp của tôi thì không. Tôi không thể xóa tệp khi tôi đang chạy Hệ thống bị hỏng. Và tôi đã đọc và viết acess ở đó trong $ HOME của tôi. Và nó đã được gắn chính xác. Tôi đã kiểm tra điều này cùng một lúc.

@SatoKatsura, nhưng quyền truy cập tệp / thư mục thường không giới hạn root.
ilkkachu

@ilkkachu Ah, tôi đã bỏ lỡ phần chạy root.
Satō Katsura

Câu trả lời:


16
$ lsattr /media/alex/.../.rsync.log 
-----a-------e-- /media/alex/.../.rsync.log

Các acó là append chỉ cờ , mà không làm việc một chút như lá cờ bất biến ở chỗ nó cũng ngăn ngừa loại bỏ các tập tin. Ngoài ra cho root:

# touch file.txt ; chattr +a file.txt ; lsattr file.txt ; rm file.txt
-----a-------e-- file.txt
rm: cannot remove `file.txt': Operation not permitted

Một tập tin với tập thuộc tính 'a' chỉ có thể được mở trong chế độ chắp thêm để ghi. Chỉ có siêu người dùng hoặc một quá trình sở hữu khả năng CAP_LINUX_IMMUTABLE mới có thể đặt hoặc xóa thuộc tính này.

chattr -a /media/alex/.../.rsync.log như root nên thoát khỏi nó.

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.