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