어떤 사용자도 내 파일을 삭제하지 않기를 원합니다. 동일한 chmod 모드 명령을 알 수 있습니까?
이런 종류의 메시지를 받아야 합니다(rm ctl_model_fact.csv: Permission failed).
답변1
root
파일을 삭제하는 것은 항상 가능합니다(적어도 수준에서는 chmod
이를 방지하려면 파일 시스템 속성이나 Linux 보안 모듈(SELinux, AppArmor)이 필요합니다).
일반 사용자의 경우 모든 사용자의 상위 디렉터리에서 쓰기 권한을 제거해야 합니다.
답변2
루트가 파일을 삭제하는 것을 방지하지 않으려면 실제로 ctl_model_fact.csv
파일이 있는 디렉터리의 권한을 수정해야 합니다. chmod go-w [your directory]
이 작업을 수행하지만 ctl_model_fact.csv
다른 사용자가 액세스할 수 없는지 확인하려는 경우에는 .변화파일을 사용하려면 chmod go-w ctl_model_fact.csv
.
답변3
삭제는 쓰기 작업이므로 파일이 포함된 디렉터리에서 쓰기 권한을 제거해야 합니다(이 파일을 ~/foo/bar.txt
예로 사용).
chmod a-w ~/foo/
또는
chmod 666 ~/foo/
그러나 이렇게 하면 여전히 루트가 파일을 삭제할 수 있습니다. 이런 일이 발생하는 것을 허용하고 싶지 않다면 상황은 더욱 복잡해집니다.내가 아는 한, 가장 좋은 방법(명령을 뒤집어 쉽게 피할 수 있음)은 "불변"으로 설정하는 것입니다.
sudo chattr +i ~/foo/bar.txt
이렇게 하면 루트가 파일을 삭제하는 것을 방지할 수 있지만 언제든지 다시 실행하여 실행 chattr -i ~/foo/bar.txt
취소할 수 있으므로 완전한 블록보다 더 장벽이 됩니다. 그러나 루트가 아닌 사용자가 삭제하는 것을 방지하고 실행할 권한이 없으므로 chattr -i
이 방법은 디렉터리의 모든 파일에 영향을 미치지 않으므로 가장 쉬운 방법입니다.