寻求一些帮助来在 WDMyCloud(NFS 服务器)和 RaspberryPi(NFS 客户端)之间设置 NFS 共享。
我已经使用以下配置成功设置了共享,但在设置 OwnCloud 访问文件的正确权限时遇到了一些困难。
WDMyCloud (NFS 服务器)
/etc/exports
# Use nobody user (uid 65534) for nfs guest. This is restricted from private
# shares by ACLs.
#
/nfs/owncloud 192.168.0.25(rw,all_squash,sync,no_subtree_check,insecure,crossmnt,anonuid=33,anongid=33)
grep 33 /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh
grep 33 /etc/group
www-data:x:33:root,nobody,daapd
Raspberry Pi(NFS 客户端)
/etc/fstab
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
192.168.0.30:/nfs/owncloud /owncloud nfs nouser,atime,auto,rw,dev,exec,suid 0 0
安装成功
raspberrypi ~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 1.8G 13G 13% /
devtmpfs 237M 0 237M 0% /dev
tmpfs 242M 8.5M 233M 4% /run
tmpfs 242M 0 242M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 21M 43M 33% /boot
192.168.0.30:/nfs/owncloud 3.6T 151G 3.4T 5% /owncloud
但列出目录时,它显示不同的用户/组:
raspberrypi ~ # ls -lAh /owncloud/
total 172K
drwxr-xr-x 2 nobody pi 4.0K Oct 17 22:01 files_external
-rw-r--r-- 1 nobody pi 284 Oct 17 21:37 .htaccess
-rw-r--r-- 1 nobody pi 145 Oct 17 22:01 htaccesstest.txt
-rw-r--r-- 1 nobody pi 0 Oct 17 22:01 index.html
-rw-r--r-- 1 nobody pi 156K Oct 17 22:01 owncloud.db
-rw-r--r-- 1 nobody pi 0 Oct 17 22:01 owncloud.log
我甚至没有以用户“pi”的身份执行此操作,因此不确定为什么使用这个组:
raspberrypi ~ # whoami
root
我尝试在服务器端重新启动“nfs-kernel-server”服务,但exportfs -a
没有成功。
我想要实现的是让用户和组的文件/目录所有权均为“www-data”。
任何帮助将非常感激。
干杯,
更新:
补充一下,Raspberry Pi 上的 UUIDwww-data
也是 33:
raspberrypi ~ # grep 33 /etc/passwd
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
raspberrypi ~ # grep 33 /etc/group
www-data:x:33:www-data
答案1
问题是 NFS 挂载中的所有文件都需要由 Web 服务器用户拥有。否则您将遇到问题。最简单的方法是通过 smbclient 以 Web 服务器用户身份挂载它并执行数据目录的符号链接。顺便说一句。建议使用 Nextcloud 而不是 ownCloud,因为它包含重要的安全修复程序。Nextcloud 还具有直接访问 smb 共享的功能。这非常简单。