사용자가 775 권한으로 폴더를 만들 수 있도록 허용

사용자가 775 권한으로 폴더를 만들 수 있도록 허용

사용자가 권한을 사용하여 폴더를 생성할 것으로 chfn -o umask=002 souser예상하고 명령을 입력했지만 사용자는 그렇지 않았습니다. 사용자가 생성한 모든 새 폴더에 그룹에 대한 쓰기 액세스 권한을 부여하려면 어떻게 해야 합니까? 내 테스트는 다음과 같습니다.souser775

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_umaskAFAIK 이것은 최소한 Debian에서는 기본적으로 해당되며 아마도 Ubuntu, Mint 등과 같은 Debian 기반 배포판에서는 그럴 것입니다.

그렇지 않은 경우 쉘의 구성 파일이나 사용자 홈 디렉토리의 rc 파일에 pam_umask행(예: 또는 )을 넣을 수 있습니다. 또는 (for, and ) 또는 (bash에만 해당)과 같은 시스템 전체 구성 파일에서 다음과 같습니다.umask 002.bashrc.profile/etc/profileshbash/etc/bashrc

if [ "$USER" = "souser" ] ; then
    umask 0002
else
    umask 0022
fi

umask현재 유효한 umask를 출력하는 간단한 명령을 사용하여 성공했는지 확인할 수 있습니다 .

실제 권한 설정은 여전히 ​​애플리케이션에 달려 있습니다. 생성된 폴더에 그룹 쓰기 권한을 설정하지 않도록 코드에 내장된 다른 프로그램이나 명령을 사용하는 경우 나중에 해당 프로그램의 코드를 변경하거나 권한을 수동으로 설정해야 합니다. 이것이 바로 UNIX/Linux가 작동하는 방식입니다.

관련 정보