文件权限:

文件权限:

我想给一个目录755权限,所以我使用:

# chmod -R 755 /my/folder/

它适用于我的文件夹内的所有文件,但问题是我使用在此文件夹中创建新文件的脚本,默认情况下权限为 600。

我如何对这些“未来”文件施加 755 权限?

- 编辑 -

我使用一个脚本来提供有关校园网络流量的信息。我每 10 分钟就会有一个新文件,位于名为“旅程”的文件夹中,位于月份文件夹中,如下所示:

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
-rwxr-sr-x 1 root root   38154 avril 27 01:10 zzaccounting.dmp-01-00
-rwxr-sr-x 1 root root   38318 avril 27 01:20 zzaccounting.dmp-01-10
-rwxr-sr-x 1 root root   26978 avril 27 01:30 zzaccounting.dmp-01-20
-rwxr-sr-x 1 root root   31558 avril 27 01:40 zzaccounting.dmp-01-30
-rwxr-sr-x 1 root root   23662 avril 27 01:50 zzaccounting.dmp-01-40
-rwxr-sr-x 1 root root   32298 avril 27 02:00 zzaccounting.dmp-01-50
-rwxr-sr-x 1 root root   30282 avril 27 02:10 zzaccounting.dmp-02-00
-rwxr-sr-x 1 root root   31110 avril 27 02:20 zzaccounting.dmp-02-10
-rwxr-sr-x 1 root root   25718 avril 27 02:30 zzaccounting.dmp-02-20
-rwxr-sr-x 1 root root   26306 avril 27 02:40 zzaccounting.dmp-02-30
-rwxr-sr-x 1 root root   23690 avril 27 02:50 zzaccounting.dmp-02-40
-rwxr-sr-x 1 root root   23002 avril 27 03:00 zzaccounting.dmp-02-50
-rwxr-sr-x 1 root root   21854 avril 27 03:10 zzaccounting.dmp-03-00

在这里,我手动更改了权限,但是当新文件出现时,我有这个:

-rw------- 1 root root 3479106 avril 27 15:50 zzaccounting.dmp-15-40

问题是对于下面的每个文件夹和文件/home/netmet/安全/我想要默认755权限。

我已经这样做了:

chmod -R g+s /home/netmet/secure   
setfacl -d -m g::rwx /home/netmet/secure   
setfacl -d -m o::rx /home/netmet/secure   

答案1

尝试umask在您的文件夹中运行。如果它返回“0022”以外的任何内容,那么这就是您的问题。在你的情况下,它应该初始输出“0177”。创建目录时的权限系统基本上是计算出来的: default - umask0777是目录的默认模式,0666是普通文件的默认模式,但是有不同的umask,如果我理解这些事情正确的话。尝试执行umask a=rx,uu+w.

编辑:您可以使用 umask 为目录提供执行位,以便能够 cd 进入该目录,但不能进入文件。出于安全考虑,必须手动给这些执行位。只需添加chmod +x <file>到您的脚本中即可。并且,在文件上设置的执行标志除了可执行文件之外的任何内容都无效。

答案2

我猜你正在运行的脚本产生umask 设置为 0077 的环境中的文件。这可以防止生成程序在“组”和“其他”权限位中设置任何权限位。

请注意,umask 是任何进程继承环境的一部分,通常在登录时从默认“配置文件”设置。任何进程(shell)都可以使用“umask”命令修改自己的和后代子进程(初始)的umask。

当前 umask 中的位将阻止创建在其权限中设置了这些位的文件(因此是“掩码”,屏蔽生成的权限位)

答案3

笔记:这并不理想,应被视为临时解决方法

您可以创建每 5 分钟或根据首选运行 chmod 命令的 cron 作业。

还有inotify

相关内容