在 Solaris 机器上,我需要将文件从 Windows 传输到 Unix 服务器,以及从服务器传输到服务器。执行此操作时,有没有办法获取 oracle id 权限 (uid gid)?以下是示例:
我的 ID Brian 使用 winscp 将文件传输到我的 unix 服务器 DBserv1 的目录 /u04/oradata/hrspec 文件具有以下内容
-rw-r--r-- 1 oracle orainst 573440 2010 年 7 月 20 日 system_01.dbf
现在我必须复制文件,然后将 chmod 更改为 655,然后将 chown 更改为 oracle。
不允许使用 oracleid 登录。
答案1
我不确定我是否完全理解您的问题,但您可能应该使用tar
或rsync
能够在文件传输期间保留 UID、GID 和权限。
答案2
当您使用scp
命令时,新文件将继承您的 uid 和 gid。您可以使用类似下面的方法保留所有者:
/usr/sfw/bin/gtar -cpvf - system_01.dbf | \
ssh [email protected] "/usr/sfw/bin/gtar -xp -C /u04/oradata/hrspec "
或者您可以使用 POSIX ACL。