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