根据配置文件 mkdir 作为另一个用户

根据配置文件 mkdir 作为另一个用户

我们有一个共享的 Linux 环境,其中大多数文件都安装到 NFSv3 共享上的许多计算机上,这是我们无法控制的。由于我们只有基本的文件系统权限(无 ACL),因此我们正在寻找一种方法,允许人们在共享磁盘中运行 mkdir,而无需授予整个组对共享根目录的写入权限。

例如,设置了 setuid 位的二进制文件以及设置为共享所有者的二进制文件的所有者可以读取配置文件,该配置文件将定义允许哪些用户或组在所述共享目录中创建目录。然后它可以决定是否允许运行二进制文件的用户在共享中创建目录。

顶级共享的权限为:

drwxr-x--- 1 owner group …

因此,我们的想法是,有一个 mkdir 的包装器,然后以共享所有者身份运行,检查配置文件,并在配置文件允许的情况下创建请求的目录。这样,用户就不能只运行内置的 mkdir。

创建的目录看起来像这样:

drwx------ 1 normaluser group 4096 Nov 3 18:14 newdir

这是最好的方法吗?或者我们正在重新发明轮子?

答案1

设置umask每个用户登录时的:

umask 002

此后,该组将具有与用户相同的权限:

mkdir newdir
ls -ld newdir
drwxrwxr-x+ 1 roaima roaima 0 Nov  3 22:04 newdir

如果这不是您想要的,请为 mkdir 创建一个别名

alias md='mkdir -m 775'
md newdir

相关内容