ユーザーが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:~$ 

メモ:ディストリビューションは Debian 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の動作方法です。

関連情報