我希望将755权限授予一个目录,因此我使用:
# chmod -R 755 /my/folder/它适用于文件夹中的所有文件,但问题是我使用脚本在此文件夹中创建新文件,默认情况下权限为600。
我如何对这些“未来”文件强制使用,755个权限?
我使用了一个脚本,它给了我关于校园网络流量的信息。我每10分钟就有一个新的文件,位于一个名为the的文件夹中,位于月份文件夹中,如下所示:
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/secure/ I下的每个文件夹和文件,默认情况下需要755权限。
我已经这样做了:
chmod -R g+s /home/netmet/secure
setfacl -d -m g::rwx /home/netmet/secure
setfacl -d -m o::rx /home/netmet/secure 发布于 2017-07-15 12:44:12
尝试在文件夹中运行umask。如果它返回'0022‘以外的任何东西,那么这就是您的问题。在您的情况下,它应该输出'0177‘。创建目录时的权限系统基本上是计算出来的:default - umask 0777是目录的默认模式,0666是普通文件的默认模式,但是如果我正确理解这些内容,就会有不同的请求。尝试执行umask a=rx,uu+w。
编辑:您可以使用umask将执行位分配给目录,以便能够将其cd保存到目录中,而不是对文件。由于安全性原因,必须手动执行位。只需将chmod +x <file>添加到脚本中即可。而且,在文件上设置的执行标志-除了可执行文件之外-没有任何效果。
发布于 2019-08-27 17:49:39
我猜您正在运行在umask设置为0077的环境中生成文件的脚本。这将防止生成程序在“组”和“其他”权限位中设置任何权限位。
请注意,umask是任何进程继承环境的一部分,通常是从登录时默认的“配置文件”设置的。任何进程(shell)都可以使用' umask‘命令修改自己和后代的子进程(初始)umask。
当前umask中的位将阻止在其权限中设置这些位的文件的创建(因此是一个“掩码”,掩蔽产生的权限位)。
发布于 2019-10-03 07:24:03
注:这并不理想,应视为临时解决办法。
您可以创建cron作业,它每5分钟运行一次chmod命令,或者按首选的方式运行。
还有inotify
https://unix.stackexchange.com/questions/361660
复制相似问题