我需要使用afp协议在Linux机器上安装远程文件系统。 Linux的盒子运行一个旧的Debian 4。
我下载了mount_afp的源代码,编译并安装了所有必需的软件包。
然后用下面的命令创build/ etc / fuse:
mknod /dev/fuse c 10 229
(根据这里的说明)
我可以通过执行以root身份挂载远程文件系统:
mount_afp afp://USER:PASSWD@REMOTE_SERVER/FOLDER /mnt/MOUNTPOINT/
但是当以普通用户(本地机器)运行时,相同的命令失败。
在阅读这里和那里后,我创build了一个组fuse ,并将我的普通用户U添加到组fuse :
[prompt] groups U U fuse
然后修改/ dev / fuse组,现在拥有以下权限:
0 crwxrwx--- 1 root fuse 10, 229 Feb 8 15:33 /dev/fuse
但是,如果用户U尝试使用与上面相同的命令安装远程文件系统,则U会得到以下错误:
Incorrect permissions on /dev/fuse, mode of device is 20770, uid/gid is 0/1007. But your effective uid/gid is 1004/1004
但用户U与UID 1004也GID 1007 (组保险丝)。
我可能会认为这个问题与真实/有效/ etc有关。 身份证,但我不知道如何进行,找不到任何明确的说明。 你可以帮我吗?
还有另一个问题。 如果我以root身份挂载/ mnt / MOUNTPOINT并运行ls -l /mnt ,则会得到:
drwxrwxrwx 15 root root 466 Feb 8 16:34 MONTPOINT
如果我以普通用户U身份运行ls -l /mnt得到:
? ?????????? ? ? ? ? ? MOUNTPOINT
其实当我尝试cd /mnt/MOUNTPOINT我得到:
$-> cd /mnt/MOUNTPOINT -sh: cd: /mnt/MOUNTPOINT: Not a directory
然后我卸载/ mnt / MOUNTPOINT作为root并再次运行ls -l /mnt作为普通用户U我得到:
0 drwxr-xr-x 2 root root 6 Feb 8 15:32 MOUNTPOINT/
在阅读Frank的回答之后,我用用户U特权杀死了每个运行的shell /进程。 仍然U不能安装远程文件系统,但错误信息已经改变。 现在是:“login错误:身份validation失败”。 该问题与远程login/密码无关,因为当以本地机器的root运行时,相同的命令完美工作。
由于我无法使用mount_afp与普通用户一起工作,我决定遵循mgorven的build议。 所以我运行命令:
mount_afp -o allow_other afp://USER:PASSWD@REMOTE_SERVER/FOLDER /mnt/MOUNTPOINT/
和
mount_afp -o user=U afp://USER:PASSWD@REMOTE_SERVER/FOLDER /mnt/MOUNTPOINT/
挂载成功,但用户U无法访问挂载点。 如果U执行ls -l in /mnt
U@LOCAL_HOST [/mnt] $-> ls -l ls: cannot access MOUNT_POINT: Permission denied total 0 ? ?????????? ? ? ? ? ? MOUNT_POINT
有这个实用程序工作很难吗?
我的单一用户设置成功的forms是
fuse U加到熔丝组 mount_afp -o user=U,group=fuse afp://USER:PASSWD@REMOTE_SERVER/FOLDER /mnt/MOUNTPOINT Unknown user 1000 Unknown group 108 然后权限被设置为777为挂载目录,我终于能够浏览和播放。
这不能解决OP的问题,但希望对一些人来说是足够的确认。
将自己添加到fuse组后,您可能没有注销。 组信息被caching,因此您在更改组成员资格后需要执行此操作。 这样做后运行groups来validationfuse是否列出。
默认情况下,FUSE挂载仅允许访问挂载它们的用户。 如果你想允许其他用户访问它们,你需要添加allow_other装入选项,所以试试这个:
mount_afp -o allow_other
如果这不起作用,您可以将挂载的所有权设置为您自己的用户:
mount_afp -o user=1004,group=1004
我有同样的问题。 将用户名添加到保险丝组后,我登出并返回(在ssh上)。 但我仍然有同样的问题。 然后我重新启动了盒子。 然后创build用户有权访问的安装点后,它工作正常。 所以对于我通过ssh注销然后重新login没有强制重新加载的组,我想你必须重新启动或可能从所有其他shell注销(我不知道是否有其他shell我login) 。