사용자가 루트가 소유 한 파일 또는 자신이 아닌 일부 사용자를 chmod 할 수 있도록하고 싶습니다. 파일을 777로 chmod’ed했고 “작업이 허용되지 않습니다”라는 메시지가 나타납니다. 파일 그룹에 사용자를 추가하고 동일하게 얻었습니다. 사용자가 쓰기 권한이있는 파일을 chmod 할 수없는 이유는 무엇입니까?
답변
사용자가 쓰기 권한이있는 파일을 chmod 할 수없는 이유는 무엇입니까?
일반적인 액세스 권한의 경우 이는 디자인 결정입니다. 당신은 필요 richacls : WRITE_ACL
아마와 WRITE_OWNER
.
답변
유닉스 권한은 단순하도록 설계되었습니다. 파일에서 읽기위한 읽기 권한, 파일에 쓰기위한 쓰기 권한 및 파일을 실행하기위한 실행 권한이 필요합니다. 메타 데이터를 수정하려면 파일을 소유해야합니다 ¹.
파일을 읽을 수있는 사용자가 다른 사람에게 읽기 권한을 부여하거나 파일을 쓸 수있는 사용자가 다른 사람에게 쓰기 권한을 부여하도록 허용해도 보안 모델은 크게 변경되지 않습니다. 유닉스 권한은 임의적이므로 파일을 읽을 수있는 사용자는 다른 사용자가 파일을 읽을 수없는 경우에도 그 내용을 다른 사용자에게 노출 할 수 있습니다 (쓰기와 마찬가지로 사용자는 프록시 및 다른 사람을 대신하여 작성).
반면에 사용자에게없는 권한을 부여하면 권한 시스템이 완전히 손상 될 수 있습니다. 사용자는 모든 권한을 자신에게 부여 할 수 있습니다.
소유하지 않은 파일의 권한을 변경해야하는 경우는 거의 없습니다. 일반적으로 파일을 생성하자마자 올바른 권한을 갖도록 파일을 정렬해야합니다. 정말로 필요한 경우 sudo chmod
특정 모드 및 특정 파일 (예 :)에 대한 권한을 사용자에게 부여 할 수 있습니다 joe: ALL = (ALL) chmod g+r /path/to/file
.
¹ 액세스 및 수정 시간을 제외하고 파일을 읽거나 쓸 때도 특히 중요합니다.