우리는 대부분의 파일이 NFSv3 공유의 여러 시스템에 마운트되는 공유 Linux 환경을 보유하고 있으며 이를 제어할 수 없습니다. 우리는 기본 파일 시스템 권한(ACL 없음)만 갖고 있으므로 공유 루트에 대한 전체 그룹 쓰기 권한을 부여하지 않고도 사람들이 공유 디스크에서 mkdir을 실행할 수 있도록 하는 방법을 찾고 있습니다.
예를 들어, setuid 비트가 설정된 바이너리 소유자와 공유 소유자로 설정된 바이너리 소유자는 해당 공유 내에 디렉터리를 생성할 수 있는 사용자 또는 그룹을 정의하는 구성 파일을 읽을 수 있습니다. 그런 다음 바이너리를 실행하는 사용자가 공유에 디렉터리를 만들 수 있는지 여부를 결정할 수 있습니다.
최상위 공유에 대한 권한은 다음과 같습니다.
drwxr-x--- 1 owner group …
따라서 아이디어는 공유 소유자로 실행되고 구성 파일을 확인하고 구성 파일이 허용하는 경우 요청된 디렉터리를 생성하는 mkdir 주위에 래퍼를 갖는 것입니다. 이런 식으로 사용자는 내장된 mkdir을 실행할 수 없습니다.
생성된 디렉터리는 다음과 같습니다.
drwx------ 1 normaluser group 4096 Nov 3 18:14 newdir
이것이 최선의 방법입니까? 아니면 바퀴를 재발명하고 있나요?
답변1
umask
각 사용자가 로그인할 때 설정 :
umask 002
그러면 그룹은 사용자와 동일한 권한을 갖게 됩니다.
mkdir newdir
ls -ld newdir
drwxrwxr-x+ 1 roaima roaima 0 Nov 3 22:04 newdir
이것이 원하는 것이 아니라면 mkdir에 대한 별칭을 만드십시오.
alias md='mkdir -m 775'
md newdir