我在使用 Netatalk 时遇到与权限相关的问题。
背景:
我目前在一台配备 256mb RAM 的 iBook G3 上运行 Lubuntu 16.04。到目前为止,我还没有遇到过这台机器低配置带来的任何问题。它与我们的无线路由器有线连接。
我有一个 WD 1TB 硬盘,它被分成 4 个部分,全部采用 Fat32 (vfat) 文件系统。它们分别称为“TimeMachine”、“HomaBackup”、“MoviesTV”、“JasonDrive”,并安装在 /TimeMachine、/HomaBackup 等位置。
sudo fdisk -l 返回:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 699045887 699043840 333.3G b W95 FAT32
/dev/sdb2 699045888 1398089727 699043840 333.3G b W95 FAT32
/dev/sdb3 1398089728 1922377727 524288000 250G b W95 FAT32
/dev/sdb4 1922377728 1953519615 31141888 14.9G b W95 FAT32
/etc/fstab 文件:
#NAS server partitions
#Time Machine
/dev/sdb1 /TimeMachine vfat defaults 0 2
#Homas backup
/dev/sdb2 /HomaBackup vfat defaults 0 2
#Movies and TV
/dev/sdb3 /MoviesTV vfat defaults 0 2
#Jasons drive
/dev/sdb4 /JasonDrive vfat defaults 0 2
我设置了两个用户来访问驱动器:霍马和杰森。
我目前还在这台机器上运行一个 Samba 服务器。当我在 Mac(OSx 10.12.3、Sierra)或 PC(Windows 10)上访问 Samba 共享时,没有任何问题。
/etc/samba/smb.conf:
[HomaBackup]
comment = Homa's Backups
path = /HomaBackup
browsable = yes
read only = no
guest ok = no
valid users = homa jason
create mask = 0777
directory mask = 0777
[MoviesTV]
comment = Movies and TV Shows
path = /MoviesTV
browsable = yes
read only = no
guest ok = yes
valid users = homa jason
create mask = 0777
directory mask = 0777
[JasonDrive]
comment = Jason's Drive
path = /JasonDrive
browsable = yes
read only = no
guest ok = no
valid users = jason
create mask = 0777
directory mask = 0777
我也尝试设置与 AFP 和 Netatalk 相同的共享。我正在运行 Netatalk 3.1.11。我的 afp.conf 文件如下。
/usr/local/etc/afp.conf:
[Global]
; Global server settings
spotlight = yes
save password = no
; [Homes]
; basedir regex = /xxxx
; [My AFP Volume]
; path = /path/to/volume
; [My Time Machine Volume]
; path = /path/to/backup
; time machine = yes
[TimeMachine]
path = /TimeMachine
time machine = yes
spotlight = no
valid users = jason
file perm = 777
umask = 777
directory perm = 777
file perm = 777
[HomaBackup]
path = /HomaBackup
time machine = no
spotlight = yes
valid users = jason
file perm = 777
umask = 777
directory perm = 777
file perm = 777
[MoviesTV]
path = /MoviesTV
time machine = no
spotlight = yes
valid users = jason
file perm = 777
umask = 777
directory perm = 777
file perm = 777
[JasonDrive]
path = /JasonDrive
time machine = no
spotlight = yes
valid users = jason
file perm = 777
umask = 777
directory perm = 777
file perm = 777
如果有所不同,我还有一个 OpenSSH 服务器和一个 Transmission 网络界面正在运行。
问题:Netatalk 和 Avahi 运行良好,我可以在 Finder 中看到所有共享,并且可以正常连接。
当我(以用户 jason 身份登录)尝试创建一个文件夹时收到此错误消息:
我也收到错误 -8085。
我也无法为 TimeMachine 文件夹创建 Time Machine 备份。
任何帮助都将不胜感激。如果有其他 conf 或日志文件可以进一步阐明此问题,请告诉我。
答案1
从我在你的 Netatalk 配置文件中看到的情况来看,它没有任何问题。我遇到了同样的问题。目前,我正在使用 Debian buster 和最新版本的 Netatalk (3.1.12),经过连续 3 天的调整文件权限,唯一能解决我的问题的解决方案是使用 EXT4 文件系统重新格式化驱动器,然后一切都开始正常工作!我不太清楚为什么会发生这种情况,我将驱动器格式化为 ExFAT,使用 ExFAT-FUSE 帮助安装驱动器并对其进行读写,在 Linux 中,当你本地登录时,ExFAT 和 FAT32 可以正常工作,但不能通过 AFP :/