구성 파일을 기반으로 다른 사용자로 mkdir

구성 파일을 기반으로 다른 사용자로 mkdir

우리는 대부분의 파일이 우리가 제어할 수 없는 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

관련 정보