최근 우리 서버가 해커들의 공격을 받아 일부 파일의 속성이 수정되어 바이러스 파일을 삭제할 수 없게 되었습니다. 동시에 루트 사용자도 해당 파일을 삭제할 수 없습니다. 해결책.
Linux 파일/폴더를 삭제할 수 없는 문제 해결 방법
정상 삭제
파일이 현재 사용자의 파일인 경우 rm 명령을 사용하여 삭제하세요.
rm -rf file.sh
삭제할 수 없는 경우 삭제해 보세요. 루트 사용자를 사용하여 삭제가 되지 않을 경우 아래 안내를 참고하시기 바랍니다.
추천: "Linux Tutorial"
알아야 할 명령
일반적인 삭제 방법이 작동하지 않으면 삭제하려면 다음 명령을 알아야 합니다
lsattr
lsattr 명령어는 파일의 속성을 표시하기 위해 사용하는 방법은 다음과 같습니다
# 列出 file.sh 文件的属性 lsattr file.sh # 列出当前目录下所有文件以及文件夹的属性
lsattr
속성 설명
i 속성이 설정된 후에는 파일을 삭제하거나 이름을 바꿀 수 없으며, 연결도 불가능합니다.
a 속성을 설정한 후에는 파일에 데이터를 추가하거나 삭제할 수 없습니다.
A 속성을 설정한 후에는 루트 사용자만 설정할 수 있습니다. , 이 파일이나 디렉터리에 액세스하는 경우 I/O가 느린 시스템이 디스크에 과도하게 액세스하는 것을 방지하기 위해 해당 액세스 시간(atime)이 수정되지 않습니다. 이는 속도가 느린 컴퓨터에 도움이 됩니다.
s 속성이 설정된 후 파일이 삭제되면 하드디스크에서 완전히 삭제됩니다
S 속성이 설정된 후 파일이 하드디스크에 동기적으로(보통 비동기적으로) 기록됩니다
u 속성이 설정된 후에는 파일이 삭제된 후에도 데이터 콘텐츠가 디스크에 계속 존재하므로 파일을 검색할 수 있습니다.
e는 해당 파일이 실행 파일임을 의미합니다.
chattr
chattr은 파일 속성을 사용하려면 루트 사용자로 전환하세요. 우분투 사용자라면 명령 앞에 sudo를 추가하세요.
# 为 file.sh 文件增加 i 标识 chattr +i file.sh # 为 file.sh 文件去除 i 标识 chattr -i file.sh # 为 file.sh 增加 i, a 两个标识 chattr +ia file.sh # 为 file.sh 文件移除 i, a 两个标识 chattr -ia file.sh
실제 작업
위에서 우리는 파일이 무엇이든 설정할 때를 알 수 있습니다. i와 a 속성이 있으면 파일을 삭제할 수 없습니다. 그런 다음 먼저 i 속성, a 속성을 제거한 다음 삭제를 수행합니다.
# 移除 i, a 属性 chattr -ia file.sh # 查看是否移除成功 lsattr file.sh # 移除文件 rm -rf file.sh
파일이 성공적으로 삭제되지 않은 경우 해당 파일이 있는 폴더가 속한 파일에는 i 또는 속성이 설정되어 있습니다(이것은 찾기가 정말 어렵습니다)
# 退回上一级 cd .. # 直接使用 lsattr 命令,这样可以列出当前文件夹下所有文件和文件夹的属性 # 不要使用 lsattr 文件夹 这样的语法,这样是列出该文件夹下的文件的属性
lsattr
폴더가 설정되면 속성이 제거되고 폴더에 있는 파일이 삭제됩니다
. lsattr, chattr은 바이러스 제거 과정에서 발견되었지만, 파일 속성을 이해함으로써 실제 작업에서 파일 속성을 이용하면 중요한 파일을 실수로 삭제하지 않도록 보호하고, 실수로 삭제한 후 파일을 복구할 수 있다는 것을 확인할 수 있었습니다.
파일을 실행한 후에도 여전히 효과가 없으면 폴더에서 문제를 해결해 볼 수 있습니다.위 내용은 Linux에서 파일을 삭제할 수 없는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!