如何在 UNIX 中使用安全复制保存所有权
How to save the ownership with Secure Copy in UNIX
我想知道是否有一种方法可以递归地保护副本并保留所有权。我尝试了以下方法:
sudo scp -rp [local server directory] username@remoteserver[remote server directory]
rsync -av /local/dir server:/remote/dir
他们都无法保留所有权。文件所有者是 jboss,但是当我安全复制时,用户自动成为远程服务器上的所有者。
这可能是不可能的。首先,考虑远程服务器上可能不存在本地用户"jboss"。或者,如果远程服务器上存在用户 "jboss" ,则无法保证本地用户 "jboss" 的 UID 与远程的 UID 相同用户 "jboss"(请记住,Unix 所有权始终以 ID 而非名称表示;ls
等工具会根据 /etc/passwd
和 /etc/group
文件,但对于 filesystem/kernel,相关的是 ID,而不是名称。
接下来,考虑保留远程服务器上的本地所有权在该远程服务器上有效 "giving a file away",这是 Unix 通常不允许的;请参阅 this Unix StackExchange post 以获得关于为什么会这样的很好的讨论。
希望对您有所帮助!
我想知道是否有一种方法可以递归地保护副本并保留所有权。我尝试了以下方法:
sudo scp -rp [local server directory] username@remoteserver[remote server directory]
rsync -av /local/dir server:/remote/dir
他们都无法保留所有权。文件所有者是 jboss,但是当我安全复制时,用户自动成为远程服务器上的所有者。
这可能是不可能的。首先,考虑远程服务器上可能不存在本地用户"jboss"。或者,如果远程服务器上存在用户 "jboss" ,则无法保证本地用户 "jboss" 的 UID 与远程的 UID 相同用户 "jboss"(请记住,Unix 所有权始终以 ID 而非名称表示;ls
等工具会根据 /etc/passwd
和 /etc/group
文件,但对于 filesystem/kernel,相关的是 ID,而不是名称。
接下来,考虑保留远程服务器上的本地所有权在该远程服务器上有效 "giving a file away",这是 Unix 通常不允许的;请参阅 this Unix StackExchange post 以获得关于为什么会这样的很好的讨论。
希望对您有所帮助!