我正在嘗試設定 rsync 以備份到遠端 ssh 伺服器,但出現此錯誤:
rsync: opendir "/home/backup/." failed: Permission denied (13)
這是 rsync 指令:
sudo -u admin rsync -avzh /home/backup/ [email protected]:/home/sam/prodweb
我嘗試以管理員使用者身分執行該命令,因為他有權存取備份資料夾內的 tar 檔案。這是資料夾所在的設定:
sudo ls -l /home/
total 4
drwx--x--x. 9 admin admin 172 Mar 19 12:49 admin
drwx--x--x. 3 backup backup 4096 Apr 8 03:10 backup
drwx------. 6 sam sam 228 Apr 3 15:08 sam
sudo ls -l /home/backup/
total 12902820
-rw-r----- 1 admin admin 214722560 Apr 6 03:10 admin.2020-04-06_03-10-12.tar
-rw-r----- 1 admin admin 214702080 Apr 7 03:10 admin.2020-04-07_03-10-13.tar
-rw-r----- 1 admin admin 214732800 Apr 8 03:10 admin.2020-04-08_03-10-13.tar
我嘗試以備份用戶身份運行該命令,但遇到相同的錯誤,但是在讀取各個文件時(因為它們由管理員擁有)這是一個 VestaCP 設置,以防有人找到不同的解決方案。我嘗試過使用遠端 sftp 設置,但我沒有運氣,加上 Rsync,我可以使用 ssh 金鑰。
我認為問題是因為該資料夾由備份用戶擁有,文件由管理員用戶擁有。我還是ubuntu和centos的初學者。我試圖保持權限不變,因為每天早上在 VestaCP 備份之後我都會從 Cron 運行此命令。
謝謝
答案1
您的管理員使用者無權列出該/home/backup
目錄的內容。
放寬權限。例如,如果您的管理員使用者是該群組的成員,admin
您可以考慮這樣做
chgrp admin /home/backup
chmod g=rx /home/backup