文件权限:


9

我想给目录赋予755权限,所以我使用:

# chmod -R 755 /my/folder/

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

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

- 编辑 -

我使用的脚本可以向我提供有关校园网络流量的信息。我每10分钟就有一个新文件,位于一个名为trip的文件夹中,位于month文件夹中,如下所示:

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 /下的每个文件夹和文件,我都希望默认设置为755 permision。

我已经做到了:

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

3
ACL是答案。之前已经讨论过了。
d3ag0s 17-4-27

8
ACL是覆盖的答案umask,但不是覆盖0600设计为具有模式的文件的程序的答案。请参阅此处以获取一些参考。
ilkkachu

1
还有一个细节:默认情况下,您不能使用它umask向文件添加执行位,这需要手工完成
Romeo Ninov

umask不起作用的家伙
klaypez

您可以编辑用于制作文件的脚本吗?文件如何进入最终目录(例如2017-04-27),以及如何首先创建目录?请使用这些详细信息更新问题。
Tigger

Answers:


1

尝试umask在您的文件夹中运行。如果返回的不是“ 0022”,则这是您的问题。在您的情况下,它应该最初输出“ 0177”。创建目录时的权限系统基本上是计算default - umask在内的: 0777是目录的默认模式,而0666是普通文件的模式,但是如果我理解正确的话,会有不同的umask。尝试执行umask a=rx,uu+w

编辑:您可以使用umask将执行位赋予目录以能够cd进入目录,但不能赋予文件。由于安全性,必须手动给它们执行位。只需添加chmod +x <file>到您的脚本。并且,在可执行文件以外的任何文件上执行设置的标志均无效。


1
所述umask外壳命令不依赖于路径上,它只取决于运行它的用户,每个用户有一个特定的umask值,在登录定义,并且可以在以后改变。这定义了如何创建新文件权限。
Patrick Mevzek '17

那应该chmod a=rx,u+w在您的答复中。
Patrick Mevzek '17

1

我猜想您正在将umask设置为0077的环境中运行生成文件的脚本。这会阻止生成程序在“组”和“其他”权限位中设置任何权限位。

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

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


0

注意:这不是理想的方法,应将其视为临时解决方法

您可以创建cron作业,该作业每5分钟或根据需要运行chmod命令。

还有的inotify

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.