특정 폴더에 새로 생성된 파일이 아닌 폴더에 새로 생성된 하위 디렉터리에 대한 기본 권한만 설정하고 싶습니다.
어떻게 하나요?
답변1
어쩌면 당신은 명령을 검색하고 있을 수도 있습니다 umask
. 파일이나 디렉터리를 생성할 때 기본 권한을 설정할 수 있습니다. 자세한 내용은 다음을 참조하세요.매뉴얼 페이지.
umask
숫자 또는 기호 형식일 수 있습니다.
umask a=rx,ug+w
umask 002
그러나 파일 분할 기능을 대상으로 하지 않고 디렉터리만 대상으로 지정할 수는 없습니다.
mkdir
PS with를 사용 하여 -m
특정 마스크를 설정할 수 있습니다 .
[root@rhel9-1 tmp]# mkdir 1
[root@rhel9-1 tmp]# mkdir -m 700 2
[root@rhel9-1 tmp]# ls -ld 1 2
drwxr-xr-x 2 root root 6 Apr 22 12:10 1
drwx------ 2 root root 6 Apr 22 12:10 2
답변2
새로 생성된 파일이나 디렉터리에 대한 권한은 a) 생성 프로세스에서 요청한 권한, b) 생성 프로세스의 파일 생성 마스크(umask)(상위 프로세스에서 상속되므로 사용자별로)에 의해 수정되거나 다음에 의해 설정됩니다. 디렉터리의 기본 ACL(있는 경우)
후자는 디렉터리와 파일에 대해 다르게 지정할 수 없지만 파일이나 디렉터리를 생성할 때 응용 프로그램에 필요한 사항은 생성되는 파일이나 디렉터리에 따라 달라지는 경우가 많습니다. 즉, 일반 파일은 권한으로 생성되고 0666
디렉터리는 권한으로 생성됩니다 0777
. 실행 가능해야 하는 파일 외에도 이러한 파일도 권한을 사용하여 생성됩니다 0777
. umask 또는 기본 ACL은 이러한 권한을 줄입니다. 둘 다 권한을 추가할 수 없습니다. 예를 들어 ssh-keygen
개인 키 파일을 생성 0600
하고 다른 사용자가 파일에 액세스하지 못하도록 할 수 있습니다.
실행 가능성 외에 디렉토리와 다른 권한을 가진 파일의 요점이 무엇인지 잘 모르겠습니다. 일반적으로 동일한 사용자는 동일한 논리적 위치 내에 생성된 모든 파일 및 하위 디렉터리에 액세스해야 합니다.