Answers:
您应该能够使用以下两个命令完成您想要做的事情:
chown oracle:backups /app/dumps
chmod 2370 /app/dumps
chown将目录的所有者设置为oracle用户,将组的所有者设置为备份用户。
chmod执行以下操作:
在目录上设置setgid意味着在目录中创建的文件将继承目录的组,而不继承创建者的组。在您的实例中,这意味着由oracle写入其中的所有文件都将备份作为一个组。
Oracle可以写入该目录,但不能读取该目录。如果需要这样做,请将权限更改为2770。
这还假定您的脚本正在/ app / dumps目录中创建具有读/写访问权限的文件。如果不是这种情况,则可以运行setfacl -d -m g::rw /app/dumps以将在/ app / dumps中创建的文件的默认组权限设置为可读写。
如果你这样做,ls -alh /somedir你会得到这样的东西
ls -alh /somedir 
drwxrwxrwx 1 owner   group  [size and date]  .
drwxrwxrwx 1 powner  pgroup [size and date]  ..
-rwxrwxrwx 1 owner   owner  [size and date]  somefile
只要您能理解这一点,就可以弄清楚必须设置文件的权限和所有者。此Ubuntu Wiki条目将启发您。
这给您一些选择:
backup的用户backups,并将用户添加oracle到其中。现在,由backups-group拥有的文件将与用户backups和共享访问权限oracle。backups,backups然后为其添加用户。将所有权授予用户oracle,将组所有权授予group backups。这为用户oracle和组的所有组成员提供了单独的权限backup oracle可以使用的工具是groupadd,chown,chmod和usermod。手册页将为您提供更多详细信息。我知道这有点RTFM的答案。但是,我敢肯定,如果您进行阅读,将来您将能够处理Linux文件权限。=)祝你好运
paradoxon