为什么赢了';远程文件夹上的t filesync命令chown?(Solaris,共享)

为什么赢了';远程文件夹上的t filesync命令chown?(Solaris,共享),file,permissions,synchronization,share,solaris,File,Permissions,Synchronization,Share,Solaris,我有两个几乎相当于solaris 10和Sun Directory Server的测试服务器。我正在尝试在这两个文件夹之间创建一个自动方法来同步指定的文件夹。(这些将是主文件夹和应用程序文件夹。) 因此,目前的目标是将srv1服务器/export/test文件夹上的文件同步到srv2服务器/export/test文件夹 我所做的: srv2:#共享-o rw,根=远程同步/导出/测试 srv1:#filesync-a-s/export/test-d/net/192.100.55.2/export

我有两个几乎相当于solaris 10和Sun Directory Server的测试服务器。我正在尝试在这两个文件夹之间创建一个自动方法来同步指定的文件夹。(这些将是主文件夹和应用程序文件夹。) 因此,目前的目标是将srv1服务器/export/test文件夹上的文件同步到srv2服务器/export/test文件夹

我所做的:

srv2:#共享-o rw,根=远程同步/导出/测试

srv1:#filesync-a-s/export/test-d/net/192.100.55.2/export/test/-f'*'

这会将文件从srv2/export/test复制到srv1/export/test,但不会保留权限,并为所有文件提供(无法更改)错误


有人能帮我吗?我认为这是和分享有关的,但我可以用一些有经验的评论。Thx

给定文件系统从
srv2
共享为

srv2: #share -o rw,root=remotesync /export/test
您的进程没有来自
srv1
root
权限,根据:

root=访问列表

只有访问列表中指定的主机的根用户才具有根访问权限。请参阅下面的访问列表。默认情况下,没有主机具有根访问权限,因此 根用户映射到匿名用户ID(请参见anon=uid选项) 如上所述)。如果文件系统是共享的,则可以使用网络组 使用UNIX身份验证(AUTH_SYS)

仔细阅读有关访问列表的部分

因此,导致这种情况的条件是:

操作系统定义了几个要覆盖的权限 对chown()函数族的限制。当 {PRIV_FILE_CHOWN}特权在 在当前流程中,除了特殊的 将所有权更改为uid 0或从uid 0更改所有权的情况。当 声明{PRIV_FILE_CHOWN_SELF}权限,所有权更改 仅限于所有权与生效日期匹配的文件 当前进程的用户ID如果在中未声明任何特权 调用过程的有效集合,所有权更改是 仅限于将文件组更改为 补充组ID和有效组ID。

您的进程在NFS服务器上没有root访问权限,并且几乎肯定在文件服务器上没有活动的额外权限,即使您在NFS客户端上以
root
身份运行,因此
chmod
会因
EPERM
而失败:

埃佩姆

有效用户ID与文件的所有者不匹配,并且{PRIV_file_CHOWN}权限未在有效的 调用进程或{PRIV_FILE_CHOWN_SELF}权限不可用 在调用进程的有效集合中断言

关键词是“几乎相等”。我在其中一台机器上丢失了resolv.conf文件,因此在使用share命令时,域名被弄乱了