如何使特定目录中新创建的文件默认为所有用户可执行、可读和可写

如何使特定目录中新创建的文件默认为所有用户可执行、可读和可写

我无法找到答案的问题如下:如何使特定目录中新创建的文件对所有用户可执行、可读和可写。

因此,我有一个 NFS,一个在服务器上作为 root 运行的应用程序,该应用程序在安装的目录中生成文本文件,另一个进程在 Windows Server 实例(也安装了 NFS)上运行,该进程消耗这些文件。为了使用文件,进程需要这些文件具有读、写和执行权限。动机是:如何让root用户创建的所有文件默认都具有rwx权限?

我发现并尝试过的事情: 1. 更改 NFS 设置所在的 /etc/export 文件。不幸的是,这个不起作用。 2. 更改 root 的 umask。据我所知,使用 umask 无法启用 777 权限,只能从 666 权限中减去。 3. 设置一个定期更改权限的crontab。这还不够,因为需要权限的操作仅发生一次,并且如果没有权限,Windows 进程就会阻塞。

答案1

如何让root用户创建的所有文件默认具有rwx权限?

我会用inotify.像这样的东西:

inotifywait -m $directory -e create |
    while read path action file; do
        if [[ $(stat --format %U "$file") == root ]]; then
            chmod 777 "$file"
        fi
    done

rwx虽然我对将文件设置为有点过敏全部由于安全问题。


在线手册页inotifywait 这里

相关内容