$HOME에서 파일을 삭제할 수 없습니다.

$HOME에서 파일을 삭제할 수 없습니다.

하드 드라이브가 죽어서 전체 시스템을 백업해야 했습니다.

.rsync.log$HOME에 내 사용자나 루트로 삭제할 수 없는 파일이 있습니다 .

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

파일 시스템 검사를 실행했지만 작동하지 않았습니다.

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

파일 시스템은 ext4입니다.

$HOME에서 백업을 수행하기 전에 이 파일을 삭제해야 합니다. 어떻게 해야 하나요?

답변1

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

있다a추가 플래그만, 이는 파일 삭제도 방지한다는 점에서 불변 플래그와 다소 유사하게 작동합니다. 루트에서도 작동합니다.

# 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

"a" 속성이 설정된 파일은 쓰기 모드로만 열 수 있습니다. 수퍼유저 또는 CAP_LINUX_IMMUTABLE 기능이 있는 프로세스만 이 속성을 설정하거나 지울 수 있습니다.

chattr -a /media/alex/.../.rsync.log루트가 되면 이를 제거해야 합니다.

관련 정보