Linux中不同⽤户之间复制⽂件的两个⽅法
前⾔
考虑如下情景:foo⽤户home⽬录下有⼀⽂件,要将其copy⾄bar⽤户的home⽬录。Linux对⽤户home⽬录有严格的权限限制,⾮owner⽤户或者同group⽤户⽆权限读写,除⾮是root(⾄⾼⽆上的root)。如果没有root权限,有什么办法把 复制到bar⽤户的home⽬录下呢?
想到两个办法。
第⼀个办法,先⽤foo⽤户登录,把⽂件copy到系统临时⽬录/tmp,然后切换到bar⽤户,再从系统临时⽬录/tmp把⽂件copy到⾃⼰的home⽬录。这⾥为什么⽤cp不⽤mv?因为复制到/tmp的⽂件owner还是foo,默认情况下其他⽤户⾃有读权限,没有写权限(⾃然没有移动权限)。即使通过修改⽂件权限,让bar可写,移动到bar的home⽬录下owner还是foo,⽽且⾮得root才能改成bar。这个办法有点曲折,弊端也很明显,⽂件需要复制两次,花两倍的时间。
# /tmp/
# su - bar
# cp / ~/
# exit
# rm /
第⼆个办法,使⽤scp命令。原本scp是⽤来在不同主机上通过⽹络copy⽂件,⽤在这⾥刚好。⽤bar⽤户登录
# scp foo@localhost:/home/ ./
cp复制文件到指定目录下输⼊foo⽤户密码,开始⽂件传输。也可以⽤foo⽤户登录,
# bar@localhost:/home/bar/
输⼊bar⽤户密码,过程⼀样。
实际中使⽤哪⼀种⽅法,看个⼈喜好了。如果要copy的⽂件不⼤,第⼀种⽅法也不失为⼀种选择。
结束语
以上就是给⼤家分享的Linux中不同⽤户之间复制⽂件的两个⽅法,希望对⼤家的学习和⼯作能有所帮助。如果有疑问可以留⾔讨论。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论