읽기 전용인 경우 소켓의 파일을 사용할 수 있습니까?
예를 들어 프로그램이 데몬과 통신하기 위해 소켓을 사용해야 하는 경우 소켓을 삭제할 수 없습니다.
예를 들어 파일을 다시 만들 수 없으므로 파일을 읽기 전용으로 설정하면 작동합니까? 이는 Linux 및 BSD 변형에 적용됩니다.
답변1
파일을 읽기 전용으로 만드는 것이 작동합니까?
읽기 전용 파일을 삭제할 수 없다고 생각하는 이유는 무엇입니까? 파일 삭제 기능은 파일 권한이 아니라 파일이 있는 디렉터리에 대한 쓰기 액세스[*]에 의해 제어됩니다. 이를 보려면 다음을 수행하십시오.
touch a
chmod 0000 a
rm a
rm
쓰기 금지된 파일을 삭제하라는 메시지가 표시될 수 있지만 해당 작업은 허용됩니다.
따라서 당신이 해야 할 일은 데몬에 액세스하는 프로그램에 소켓 파일이 포함된 디렉터리에 대한 쓰기 권한을 부여하지 않는 것뿐입니다. 그리고 Bob은 (소켓 파일 삭제에 관한 한) 당신의 삼촌입니다.
[*] - 고정 비트는 작업을 약간 복잡하게 만들어서 파일의소유자, 하지만 파일은 아님권한.