Назад | Перейти на главную страницу

QNAP-NAS / git clone на общем ресурсе NFS не работает

Я использую QNAP NAS в качестве сервера хранения для моего домашнего каталога Ubuntu. Вроде все нормально работает, пока проблем с правами доступа к файлам не столкнулся. Выходная строка монтирования:

192.168.0.200:/homes/myuser on /home/myuser type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.0.200,mountvers=3,mountport=30000,mountproto=udp,local_lock=none,addr=192.168.0.200)

Однако, когда я пытаюсь клонировать репозиторий git в свой домашний каталог, я получаю следующие выходные данные и сообщения об ошибках:

myuser@ubuntu ~/test % git clone -v https://github.com/robbyrussell/oh-my-zsh.git
Cloning into 'oh-my-zsh'...
POST git-upload-pack (140 bytes)
remote: Counting objects: 17463, done.
fatal: Unable to create temporary file '/home/myuser/test/oh-my-zsh/.git/objects/pack/tmp_pack_XXXXXX': Permission denied
fatal: index-pack failed

После выполнения команды тест каталога даже не содержит подкаталог с именем oh-my-zsh. Он по-прежнему пуст.

getfacl каталога /home/myuser/test/ показывает следующий вывод:

 myuser@ubuntu ~/test % getfacl .
# file: .
# owner: myuser
# group: mygroup
 user::rwx
 user:nobody:---
 user: myuser:rwx
 group::rwx
 mask::rwx
 other::---
 default:user::rwx
 default:user:nobody:---
 default:user: myuser:rwx
 default:group::rwx
 default:mask::rwx
 default:other::---

Так что на самом деле проблем с разрешениями быть не должно, поскольку у myuser есть все права доступа к каталогу. Так есть ли что-то, связанное с разрешениями, чего мне не хватает? Или это проблема, связанная с NFS, и как ее решить?

Та же проблема. Думаю, есть 2 способа.

  1. Отключите расширенный ACL в QNAP-NAS. Перейдите в Панель управления> Привилегии> Общие папки> Расширенные разрешения> Снимите флажок [] Включить дополнительные разрешения для папок.

или

  1. Добавить noacl вариант в /etc/fstab как следует. Параметры могут отличаться в зависимости от ваших предпочтений.

    192.168.0.200:/homes/myuser /home/myuser nfs defaults,_netdev,noacl 1 2

Я сделал последнее, и это сработало.

Изменить: если вы хотите продолжать использовать расширенный ACL, убедитесь, что NFSv4 активен на вашем NAS. NFSv4 поддерживает ACL, но NFSv3, вероятно, нет.

Редактировать: Я не рекомендую первый способ. Я попробовал, и это закончилось кошмаром. Все разрешения были перезаписаны, папки 777, файлы 666. Таким образом, вы должны оставить параметр NAS, как сейчас, и изменить только конфигурацию NFS клиента.