Я пытаюсь настроить rsync для резервного копирования на удаленный SSH-сервер, но получаю следующую ошибку:
rsync: opendir "/home/backup/." failed: Permission denied (13)
это команда rsync:
sudo -u admin rsync -avzh /home/backup/ [email protected]:/home/sam/prodweb
Я пытаюсь запустить команду как пользователь admin, так как у него есть разрешения на файлы 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.
Я думаю, проблема в том, что папка принадлежит пользователю backup, а файлы принадлежат пользователю admin. Я все еще новичок в ubuntu и centos. Я пытаюсь оставить разрешения нетронутыми, так как я запускал эту команду из Cron каждое утро сразу после VestaCP Backup.
Спасибо
решение1
У вашего пользователя-администратора нет прав на просмотр содержимого каталога /home/backup
.
Ослабьте разрешения. Например, если ваш администратор является членом группы, admin
вы можете рассмотреть это
chgrp admin /home/backup
chmod g=rx /home/backup