나는 아주 소수의 개발자가 사용하는 웹 서버를 가지고 있습니다. 홈페이지를 website
사용중입니다. 다른 사용자는 user1
' user2
잠깐만 기다려주세요. sudo 액세스 권한을 부여했습니다 user1
. user2
.. 액세스할 수 있습니다 website
.
지금 내가 겪고 있는 문제는 website
일부 스크립트가 직접 읽기를 허용하지 않기 때문에 사용자가 스크립트를 복사할 수 없다는 것입니다 users
. sudo cp를 사용하려고 해도 디렉토리에 대한 쓰기 권한이 website
없기 때문에 실패합니다.users
일부 보안 시즌으로 인해 파일 권한을 변경하고 싶지 않습니다. tar를 사용하여 이 작업을 수행할 수 있다는 것을 어딘가에서 보았지만 알아낼 수는 없었습니다.
누구든지 도와줄 수 있나요?
감사해요!
답변1
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
표준 출력에 tar 아카이브가 "생성"되고 website
, 또 다른 tar(sudo가 없으므로 쉘을 실행하는 사용자와 동일한 사용자로 실행, 즉 user1
)는 해당 더미 tar 파일을 현재 디렉토리( )에 쓸 수 있습니다 user1
.
고쳐 쓰다tar는 파일로 연결되는 하위 디렉터리를 생성하므로 -C
tar가 시작하기 전에 지정된 디렉터리로 이동하도록 지정하여 이 동작을 줄일 수 있습니다.
sudo -u website tar -C ~website -cf - foo bar | tar xf -
이런 방식으로 foo
및 은 bar
선행 하위 디렉터리 없이 현재 디렉터리에 생성됩니다(그러나 추가되면 에 있는 하위 디렉터리로 blah/baz
생성됩니다 ).blah
baz