リモートSSHサーバーにバックアップするためにrsyncを設定しようとすると、次のエラーが発生します。
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とCentusの初心者です。 VestaCP のバックアップ後、毎朝 Cron でこのコマンドを実行するため、権限を同じにしておきたいと思います。
ありがとう
答え1
/home/backup
管理者には、このディレクトリの内容を一覧表示する権限がありません。
権限を軽減してください。たとえば、管理ユーザーがこのグループのメンバーである場合は、次のことadmin
を検討できます。
chgrp admin /home/backup
chmod g=rx /home/backup