파일 생성을 위해 Linux에서 기본 사용자를 어떻게 설정합니까? 있으며 권한을 변경하지 않아야합니다. (필요한

예를 들어 디렉토리를 만들고 싶습니다.

/ public / all

그러나 파일을 모두 만들면 소유자가 루트이지만 / public / all 폴더에 액세스 할 수있는 사람은 누구나 파일을 삭제 / 편집 / etc 할 수 있으며 권한을 변경하지 않아야합니다. (필요한 경우 자체 생성 된 “setx”응용 프로그램을 사용하여 실행 값을 변경합니다.)

그 이유는 다른 사용자가 / public / all의 파일에 대한 쓰기 / 읽기 액세스를 거부 할 수 있기를 원하지 않습니다. 디렉토리의 setuid가 작동하지 않는다고 들었습니다.



답변

너는 이것을 못해; 초기 소유자는 항상 개체의 작성자입니다.

할 수있는 일은 모든 사람이 자동으로 읽기 / 쓰기를 허용하도록 기본 ACL을 설정하는 것입니다.

setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /public/all

또한 선택적으로 기본 그룹을 설정하십시오.

chown :nobody /public/all
chmod g+s /public/all

그러나이 중 어느 것도 소유자가 나중에 권한 을 변경 하지 못하게합니다 .


다른 해결책은 inotify를 사용하여 디렉토리를 모니터링하고 (사용 incron) chown생성시 자동으로 실행 하는 것입니다. 이것을 incrontab에 넣으십시오.

/public/all IN_CREATE chown nobody:nobody $@/$#; chmod 0666 $@/$#


답변