권한 있는 디렉터리에 출력 파일 쓰기 - 권한 없는 사용자로 실행되는 실행 파일에서

권한 있는 디렉터리에 출력 파일 쓰기 - 권한 없는 사용자로 실행되는 실행 파일에서

bu사용자로 프로그램을 실행 하고 싶고 backup출력 파일이 위치에 있기를 원합니다 /mnt/nas1/. 그러나 이 위치는 에만 쓸 수 sysred있으며 bustdout으로 출력하는 명령줄 옵션은 없고 파일로만 출력할 수 있습니다. 전체 파일을 임시 디렉터리에 임시로 저장하지 않고 출력 파일을 대상 위치에 어떻게 쓸 수 있습니까? 다음은 명령의 예입니다.

sysred@host1:~> sudo -u backup bu -f /mnt/nas1/backup.zip

물론 backup대상 폴더에 액세스할 수 없기 때문에 실패합니다.

sysred@host1:~> sudo -u backup bu -f /dev/stdout > /mnt/nas1/backup.zip

/dev/stdout현재 에 속해 있기 때문에 이것도 실패할 것이라고 생각합니다 sysred.

다음으로 시도한 것은 명명된 파이프를 사용하는 것이었습니다. 사용자로서 sysred:

mkfifo -m 0777 /tmp/backup
cat /tmp/backup > /mnt/nas1/backup.zip &
sudo -u backup bu -f /tmp/backup

에러 메시지: Failed to create /tmp/backup: zip: not a valid zip file. 다른 아이디어가 있나요?

관련 정보