0

说,我有一个 oracle 目录并授予用户“scott”

CREATE OR REPLACE DIRECTORY dataFolder AS '/data/';
GRANT READ, WRITE ON DIRECTORY dataFolder TO scott;    

然后,我有一个 shell 脚本ExtractData.sh,用于UTL_FILEBLOB数据库中的数据转换为存储在上述目录中的物理文件dataFolder

但是,由于服务器的安全问题,这个/data/目录只被授予770权限,因此导致我的脚本无法将文件写入目录。

但是,当我将权限更改为 时777,脚本成功写入文件。

如何通过不给予777许可来解决这个问题?

4

1 回答 1

2

您没有提及目录的所有者。

使用 oracle 拥有的目录或 osoper 或 dba 组中的目录,您将不需要 777 权限。显然该目录归根用户或其他用户所有,因此所有者和组位对您没有帮助。

您可以使用chown来更改所有权。

chown oracle:osoper /data

只要确保您知道其他程序正在访问 /data,如果您更改所有权,请确保相应地调整 privs。

于 2014-10-19T06:53:24.033 回答