У меня есть домашний сервер, который совместно использует папки в сети с помощью NFS.
Я смонтировал эти папки на своем компьютере, например:
192.168.1.20:/mnt/raiddisk/john /mnt/john nfs auto,defaults 0 0
Я пытаюсь выполнить следующую команду rsync для копирования моей домашней папки в удаленную машину:
sudo rsync -azv -h --progress /home/john/ /mnt/john/backups/manual/20150806/ --log-file=/home/john/manual_backup.log
Но я получаю ошибки как этот, и ничто не копируется:
rsync: failed to set times on "/mnt/john/backups/manual/20150806/.":
Permission denied (13) rsync: recv_generator: mkdir
"/mnt/john/backups/manual/20150806/.Skype" failed: Permission denied
(13)
* Skipping any contents from this failed directory *
Полномочия для моих смонтированных папок следующие:
drwxr-xr-x 10 root root 4096 Aug 2 21:32 mnt
drwxrwxr-x 4 john john 4096 Dez 24 2014 john
drwxrwxr-x 4 john john 4096 Dez 14 2014 backups
drwxrwxr-x 6 john john 4096 Aug 6 20:41 manual
drwxrwxr-x 2 john john 4096 Aug 6 20:41 20150806
Я думал это при помощи sudo
Я выполнил бы rsync с корневыми полномочиями и что он не должен иметь проблем при копировании файлов, но очевидно существует что-то, что я неправильно понял, любая ценившая справка.
Одной из мер безопасности в NFS является rootsquash
, являющаяся опцией по умолчанию. С помощью rootsquash
root в клиентской системе имеет те же привилегии, что и пользователь nobody
(или некоторая другая назначенная, бессильная учетная запись в зависимости от точной конфигурации). Соответственно, использование sudo
в NFS фактически ослабляет ваши права доступа. Поэтому не используйте sudo
в NFS. Установите правильные разрешения.