我试图确保挂载文件系统中的某些文件至少可供一个非 root 用户读取。但是,目前,即使是 root 用户也无法读取这些文件。以下是我的情况:
以下是 fstab 中的相关行:
sshfs#andrew.eisenberg@marykate:/ /mnt/marykate fuse defaults,uid=1000,gid=1000,idmap=user,allow_other,follow_symlinks 0 0
(请注意,用户已经是、和andrew.eisenberg
组的成员)fuse
redis
david
在 marykate 机器上,以下是相关目录:
[13:48] marykate:~
$ ll /var/lib/redis/7000
total 1089640
-rw-rw---- 1 redis 671476509 Jun 15 13:48 appendonly.aof
-rw-rw---- 1 redis 444305035 Jun 15 13:47 dump.rdb
在目标机器上,它看起来像这样:
[13:46] ashley:/mnt/marykate/var/lib/redis/7000
$ ll
total 1091116
-rw-rw---- 1 david 672465989 Jun 15 13:49 appendonly.aof
-rw-rw---- 1 david 444831971 Jun 15 13:49 dump.rdb
并且没有用户可以实际访问这些文件:
$ sudo less appendonly.aof
appendonly.aof: Permission denied
$ sudo -u david less appendonly.aof
appendonly.aof: Permission denied
我认为文件归不同用户所有的原因是两台机器的 uid 不匹配。
但是,我完全不明白为什么我无法读取这些文件。
我对此还很陌生,只是在摸索,因此,如果能得到关于我应该做什么的任何其他建议,我将不胜感激。
编辑 我有一个解决方法,但我并不满意。在已挂载的文件系统中,我已将所有相关文件更改为所有人都可读。现在在基本文件系统上,我可以读取所有文件。
我不喜欢这个解决方案,因为我不想让这些文件可供所有人读取。我更愿意让它们仅供用户/组读取,但不知道该怎么做。