假设我有两个用户 Alice 和 Bob 以及一个组 GROUPNAME 和一个文件夹foo,两个用户都是 GROUPNAME 的成员(使用 Linux 和 ext3)。
如果我将用户 Alice 下的文件保存为foo,则权限为:-rw-r--r-- Alice Alice。但是,是否可以实现保存在某个子目录下的每个文件都foo具有权限-rwxrwx--- Alice GROUPNAME(即所有者 Alice,组 GROUPNAME)?
我有一个目录,其中包含多个用户之间共享的数据。对该目录及其下的任何内容的访问将由该目录的组控制,该组将添加到相关用户中。因此,我创建了文件夹“粘性组”chmod g+s集。该目录将包含一个包含目录和文件的树结构,文件总数可能有几百万。这些文件会相当小,我预计不会超过 50MB。
我的问题是文件或目录的所有者仍然是创建它的用户。因此,即使我应该从访问组中删除该用户,我也不会完全删除他的访问权限。
所以:
我是否错过了其他选项以确保所有文件和子目录具有相同的所有者?
我希望我可以定期使用 cron-job 浏览整个目录,但这让我觉得对于本质上是一次 pr-file 命令的效率低下。
我找到了一个使用 INotify的示例,但我觉得它需要高维护,因为它需要编写脚本。
我一直无法弄清楚 ACL 是否可以帮助我强制所有权。
有没有更聪明的方法来做到这一点?
我想要的是有一个可以通过向用户添加组来共享的目录。在此目录中创建的任何内容都从其父级继承权限方案。如果有比我正在尝试的更好的方法,我会全神贯注。
使用这篇有用的帖子,我可以在文件夹中设置默认组和文件权限。
我在设置默认所有者 (teamlead uid 1234) 时遇到问题。
setfacl -d -m g::rwx /my/test/folder
setfacl -d -m o::rx /my/test/folder
getfacl /my/test/folder
# file: /my/test/folder
# owner: teamlead
# group: web_prod
# flags: -s-
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
Run Code Online (Sandbox Code Playgroud)
接着就,随即:
[mary@boxen]# touch /my/test/folder/somefile
[mary@boxen]# ll /my/test/folder/somefile
-rw-rw-r--. 1 mary web_prod 0 Nov 6 08:58 somefile
Run Code Online (Sandbox Code Playgroud)
因此分配了正确的组,但新文件拥有创建文件的用户的所有权。我希望新创建的文件具有 teamlead:web_prod 所有者/组。
似乎setfacl也可以用来设置默认用户。使用现有文件夹 acl config(上图):
[mary@boxen]# setfacl -d -m u:1234:rwx /my/test/folder
Run Code Online (Sandbox Code Playgroud)
现在以不同的用户身份创建一个文件。我希望它拥有 teamlead:web_prod 所有权。
[mary@boxen]# touch /my/test/folder/anotherfile
[mary@boxen]# ll /my/test/folder/anotherfile
-rw-rw-r--+ 1 mary …Run Code Online (Sandbox Code Playgroud) 我想给一个目录 755 权限,所以我使用:
# chmod -R 755 /my/folder/
Run Code Online (Sandbox Code Playgroud)
它适用于我文件夹中的所有文件,但问题是我使用在此文件夹中创建新文件的脚本,默认情况下权限为 600。
我怎么能对这些“未来”文件强加 755 个权限?
- 编辑 -
我使用一个脚本来提供有关我校园网络流量的信息。我每 10 分钟有一个新文件,位于名为 travel 的文件夹中,位于月份文件夹中,如下所示:
ls -lrt /home/netmet/secure/2017-04/2017-04-27/
total 118548
-rwxr-sr-x 1 root root 85922 avril 27 00:10 zzaccounting.dmp-00-00
-rwxr-sr-x 1 root root 54874 avril 27 00:20 zzaccounting.dmp-00-10
-rwxr-sr-x 1 root root 33534 avril 27 00:30 zzaccounting.dmp-00-20
-rwxr-sr-x 1 root root 48890 avril 27 00:40 zzaccounting.dmp-00-30
-rwxr-sr-x 1 root root 36878 avril 27 00:50 zzaccounting.dmp-00-40
-rwxr-sr-x 1 root root 37034 avril 27 01:00 zzaccounting.dmp-00-50 …Run Code Online (Sandbox Code Playgroud) 我想要一个单独的目录或用户的 umask。我怎样才能做到这一点?
编辑:我正在使用 Debian 6。
我要这样做的原因是,我希望我所有的 SFTP 用户都创建带有写入组的文件。我正在使用 SFTP 客户端来测试 umask 是否设置正确。
我在 Debian 8 上。而如何为目录中的所有文件夹/文件设置默认文件权限?是关于权限的,我想要类似的所有权。
每当我以 root 身份登录并将文件添加到守护程序配置目录时,新创建的文件的所有权是root:root. 虽然这在大多数情况下是可以的,但在这里不是。daemon:daemon当我在 config 目录下的某处创建文件时,我希望将所有权设置为自动。
我如何做到这一点?