상위 디렉터리에서 쓰기 권한을 요구하지 않고 아직 존재하지 않는 파일에 쓰기/생성 권한을 부여하려면 어떻게 해야 합니까?

상위 디렉터리에서 쓰기 권한을 요구하지 않고 아직 존재하지 않는 파일에 쓰기/생성 권한을 부여하려면 어떻게 해야 합니까?

이게 가능한지 모르겠어서 여쭤봐야겠네요. 사용자가 단일 파일(로고 파일)을 생성할 수 있도록 허용하고 싶지만 해당 파일만 생성할 수 있습니다.

사용자의 상위 디렉토리를 읽기 전용으로 만들었기 때문에 사용자는 현재 touch <filename>파일을 생성 할 수 없습니다.

파일이 아직 존재하지 않기 때문에 쓰기 권한을 부여할 수 없습니다.chmod(예를 들어 chmod u+w <filename>).

파일이 생성될 때 적용되도록 현재 존재하지 않는 파일에 대한 권한을 설정하는 방법이 있습니까?

처음으로 ACL을 조사해서 사용해봤는데 setfacl존재하지 않는 파일에 대한 항목을 미리 생성할 수는 없는 것 같습니다.

배경:테스트 목적으로 이 장면을 만들었습니다. 기본적으로 파일이 수정되는 것을 방지하고 싶기 때문에 대부분의 파일은 읽기 전용입니다. 그런데 가끔 특정 파일이 생성되어 허용하고 싶을 때가 있어요.특정한파일 이름/경로만.

저는 Ubuntu 14.04 Linux 시스템에서 이 작업을 수행하고 있습니다.

답변1

이는 ACL을 통하는 것보다 더 많은 제어를 제공합니다. 파일에 특정 이름이 있는 경우 특정 사용자나 그룹만 파일을 생성할 수 있도록 디렉터리에 ACL을 설정할 수 있는 방법은 없습니다.

이 문제에 대한 가장 확실한 해결책은 처음부터 해당 파일을 생성하고 필요한 권한을 부여하는 것입니다.

이것이 가능하지 않은 경우 파일을 생성하는 프로그램을 생성하고 다음을 통해 디렉터리에 대한 쓰기 권한이 있는 그룹에서 프로그램을 실행할 수 있는 권한을 사용자에게 부여할 수 있습니다.스도.

bob = (bob : somegroup) touch /path/to/foo

그런 다음 사용자는 bob다음을 실행할 수 있습니다.

sudo -g somegroup touch /path/to/foo

관련 정보