我有一个Web服务器,很少有开发人员使用它。网站在website
用户下。其他用户都喜欢user1
,user2
等等。我已经对sudo进行了访问user1
,user2
..以进行访问website
。
我现在遇到的问题是用户无法从中复制脚本,website
因为某些脚本不允许直接读取users
。而且即使我尝试使用sudo进行cp也会失败,因为website
没有users
目录的写权限。
由于某些安全季节,我不想更改文件许可权。我看到某个地方可以使用tar进行此操作,但无法弄清楚。
有人可以帮忙吗...
谢谢!
您可以user1
像
sudo -u website cat ~website/somefile > ~user1/somefile
请注意,~user1/somefile
它将首先由用户运行shell(user1
)创建,并且cat
将按以下方式执行website
您可以将tar(1)与相同的技巧一起用于多个文件:
sudo -u website tar cf - ~website/foo ~website/bar | tar xf -
user1
以他的目录运行,这将在stdout上以方式“创建” tar归档文件website
,而另一个tar(不带sudo,因此以与运行shell的用户相同的用户身份运行user1
)会将虚拟tar文件解压缩到当前目录(到user1
可写)。
UPDATE请注意,tar将创建指向文件的子目录,您可以通过指定该行为来减少该行为,-C
以便tar在启动之前输入指定的目录:
sudo -u website tar -C ~website -cf - foo bar | tar xf -
通过这种方式,foo
并bar
会在当前目录中创建无领导子目录(但如果你添加的blah/baz
,它会创建blah
作为子目录中baz
居住)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句