Answers:
将find
命令与-user
选项一起使用。就像是:
find / -user john
最终将打开用户“ john”拥有的所有文件。
如果您想更改其所有权(我将find
不执行命令以确保您拥有所需的列表),那么类似:
find / -user john -exec chown harry {} \;
会做的。
这很晚,但是今天我偶然遇到了这个问题,因为我rsync
没有--usermap
选择。
我的chown
(v。chown(GNU coreutils)8.13)提供了一个内置的recurse(-R
)和一个--from
选项,因此您(和我)的问题也可以使用解决
chown -R --from=john harry /
wwwrun (id:30)
和group都www (id:8)
在debian www-data (id: 33)
中。在我使用复制文件后
rsync -az /path/to/files me@debian:/path/to/
我用了
chown -R --from=30 33 /path/to/files/
chown -R --from=:8 :33 /path/to/files/
在目标(debian)计算机上。
注意:rsync version 3.1.0 protocol version 31
上面已经提到--usermap
过了,所以如果有的话,我可以在源计算机上用一个命令完成所有三个步骤:
rsync -az --usermap=30:33 --groupmap=8:33 /path/to/files root@debian:/path/to/
find -exec
一个衬垫对我来说是一个不得已而为之,只是手工做的事情了。(而且,我讨厌写作{} \;
,但这是个人的)
chown harry:harry
需要确保组成员身份正确的情况下运行。但这在很大程度上取决于此处的应用程序。