사용자가 권한을 사용하여 폴더를 생성할 것으로 chfn -o umask=002 souser
예상하고 명령을 입력했지만 사용자는 그렇지 않았습니다. 사용자가 생성한 모든 새 폴더에 그룹에 대한 쓰기 액세스 권한을 부여하려면 어떻게 해야 합니까? 내 테스트는 다음과 같습니다.souser
775
s@lokal:~$ sudo adduser souser
Adding user `souser' ...
Adding new group `souser' (1002) ...
Adding new user `souser' (1002) with group `souser' ...
The home directory `/home/souser' already exists. Not copying from `/etc/skel'.
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for souser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
s@lokal:~$ sudo usermod -aG sudo souser
s@lokal:~$ su souser
Password:
souser@lokal:/home/s$ cd
souser@lokal:~$ mkdir test
souser@lokal:~$ ls -ld test/
drwxr-xr-x 2 souser souser 4096 Sep 3 14:23 test/
souser@lokal:~$ chfn -o umask=002
chfn: Permission denied.
souser@lokal:~$ sudo chfn -o umask=002 souser
souser@lokal:~$ mkdir test2
souser@lokal:~$ ls -ld test2
drwxr-xr-x 2 souser souser 4096 Sep 3 14:24 test2
souser@lokal:~$ sudo cat /etc/passwd |grep souser
souser:x:1002:1002:,,,,umask=002:/home/souser:/bin/bash
souser@lokal:~$
업데이트 #1
다시 로그인해도 마찬가지입니다.
souser@lokal:~$ mkdir test3
souser@lokal:~$ ls -ld test3
drwxr-xr-x 2 souser souser 4096 Sep 3 14:42 test3
souser@lokal:~$
업데이트 #2
이것도 도움이 되지 않습니다:
s@lokal:~/Dropbox$ su - souser
Password:
souser@lokal:~$ mkdir test4
souser@lokal:~$ ls -ld test4
drwxr-xr-x 2 souser souser 4096 Sep 3 14:51 test4
souser@lokal:~$
노트:배포판은 데비안 9입니다.
답변1
umask 설정 가능성은 Linux와 Unix 배포판에 따라 크게 다릅니다.
이를 수행하는 방법("gecos" 필드에서)은 설치 및 구성 /etc/passwd
에 따라 다릅니다 . pam_umask
AFAIK 이것은 최소한 Debian에서는 기본적으로 해당되며 아마도 Ubuntu, Mint 등과 같은 Debian 기반 배포판에서는 그럴 것입니다.
그렇지 않은 경우 쉘의 구성 파일이나 사용자 홈 디렉토리의 rc 파일에 pam_umask
행(예: 또는 )을 넣을 수 있습니다. 또는 (for, and ) 또는 (bash에만 해당)과 같은 시스템 전체 구성 파일에서 다음과 같습니다.umask 002
.bashrc
.profile
/etc/profile
sh
bash
/etc/bashrc
if [ "$USER" = "souser" ] ; then
umask 0002
else
umask 0022
fi
umask
현재 유효한 umask를 출력하는 간단한 명령을 사용하여 성공했는지 확인할 수 있습니다 .
실제 권한 설정은 여전히 애플리케이션에 달려 있습니다. 생성된 폴더에 그룹 쓰기 권한을 설정하지 않도록 코드에 내장된 다른 프로그램이나 명령을 사용하는 경우 나중에 해당 프로그램의 코드를 변경하거나 권한을 수동으로 설정해야 합니다. 이것이 바로 UNIX/Linux가 작동하는 방식입니다.