У меня Raspberry Pi с ОС Raspberry Pi (бывшая Raspbian).
Я хотел бы поделиться своей домашней папкой (/home/pi) с NFS. Я хотел бы также иметь к ней доступ с моего ПК с Windows 10, читая и записывая файлы, поскольку я был пользователем "pi".
Я запустил следующие команды:
$ sudo apt-get install nfs-kernel-server
$ id pi
uid=1000(pi) gid=1000(pi)
$ sudo nano /etc/exports
Я добавил эту строку:
/home/pi *(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1000)
А потом:
$ sudo exportfs -ra
После установки компонента Windows NFS Client я смог подключить свою домашнюю папку RPi как сетевой диск. Я могу создавать файлы. Однако я не могу редактировать файлы.
Например: Я создал тестовый файл под Windows. Я создаю тестовый файл под Linux.
pi@sigipi:~ $ echo hello > test_pi.txt
pi@sigipi:~ $ ls -l test_*
-rw-r--r-- 1 pi pi 6 apr 19 23:29 test_pi.txt
-rwxr-xr-x 1 pi pi 0 apr 19 23:29 test_windows.txt
Оба файла теперь доступны только для чтения из Windows. Я не могу их редактировать. (но могу удалить).
Единственный способ их редактировать — запустить это:
sudo chmod -R a+rw test*
Что я упускаю?
решение1
Я попробовал еще несколько вещей, и, кажется, моя проблема была решена. Я изменил UID и GID в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
на моего пользователя по умолчанию моей системы Linux ( id <user>
). Мне также пришлось установить эти ID в /etc/exports
.
Теперь я могу удалить write-protection / read-only
из файлов. Папки по-прежнему отмечены как защищенные, но я могу их удалять/редактировать/перемещать.
Есть замечательная запись в блоге, совсем недавняя и подробная:https://stealthbits.com/blog/mounting-nfs-exports-unix-server/