让用户创建775权限文件夹

让用户创建775权限文件夹

我输入了命令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:~$ 

笔记:该发行版是 Debian 9。

答案1

Linux 和 Unix 发行版之间设置 umask 的可能性存在很大差异。

您尝试执行此操作的方式(在 中的“gecos”字段中/etc/passwd)取决于pam_umask安装和配置。 AFAIK 至少在 Debian 上默认是这种情况,并且可能是基于 Debian 的发行版,如 Ubuntu、Mint 等......

如果没有,您可以在 shell 的配置文件或用户主目录中的 rc 文件中pam_umask放置一行(例如:或)。或者在系统范围的配置文件中类似这样的内容,例如(对于, and )或(仅对于 bash):umask 002.bashrc.profile/etc/profileshbash/etc/bashrc

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

您可以使用一个简单的命令来检查它是否成功,umask该命令将输出当前有效的 umask。

请注意,实际设置权限仍然由应用程序决定。如果您使用某些其他程序或命令,其代码中硬连线永远不会对其创建的文件夹设置组写入权限,则您必须更改该程序的代码或随后手动设置权限。这正是 UNIX/Linux 应该工作的方式。

相关内容