我的笔记本电脑上有 Ubuntu 16.04。我是管理员/根用户“lex”。
最近我安装了同步,此程序创建了用户“rslsync”。我在启动时安装了 SSD,我想从这个已安装的磁盘同步几个文件夹,但是用户“rslsync”无权访问它,因此程序 Sync 也是如此。
这是我的 fstab(已删除注释):
lex@lex-N501JW:~$ sudo cat /etc/fstab
UUID=908d89c2-81bc-4b19-8d70-6300cd1e3334 / ext4 errors=remount-ro 0 1
UUID=A063-FDD7 /boot/efi vfat umask=0077 0 1
UUID=f2b4f98d-8978-4c1a-9d38-202194e0a93c /media/lex/mystorage ext4 defaults 0 2
如您所见,我的 SSD 在启动时安装在 /media/lex/mystorage 上。
关于权限的一些信息:
lex@lex-N501JW:~$ sudo ls -la /media/
total 12
drwxr-xr-x 3 root root 4096 Апр 24 2016 .
drwxr-xr-x 26 root root 4096 Окт 22 11:41 ..
drwxrwxr-x+ 3 lex lex 4096 Сен 25 11:36 lex
lex@lex-N501JW:~$ sudo ls -la /media/lex/
total 12
drwxrwxr-x+ 3 lex lex 4096 Сен 25 11:36 .
drwxr-xr-x 3 root root 4096 Апр 24 2016 ..
drwxrwxr-x 23 lex lex 4096 Окт 25 00:29 mystorage
lex@lex-N501JW:~$ sudo ls -la /media/lex/mystorage/
total 100200856
drwxrwxr-x 23 lex lex 4096 Окт 25 00:29 .
drwxrwxr-x+ 3 lex lex 4096 Сен 25 11:36 ..
drwxrwxr-x 4 lex lex 4096 Окт 23 20:09 BitTorrentBox
关于“lex”用户的信息:
lex@lex-N501JW:~$ id
uid=1000(lex) gid=1000(lex) groups=1000(lex),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),999(docker)
如您所见,用户和组“lex”有权访问 /media/lex/mystorage/,我在 nautilus 中看到了这个磁盘,一切正常。我将“rslsync”用户添加到组“lex”,但这还不够。
当我切换到用户“rslsync”并尝试(来自同步 GUI 的相同错误):
lex@lex-N501JW:~$ su rslsync
Password:
rslsync@lex-N501JW:/home/lex$ ls -la /media/
total 12
drwxr-xr-x 3 root root 4096 Апр 24 2016 .
drwxr-xr-x 26 root root 4096 Окт 22 11:41 ..
drwxrwxr-x+ 3 lex lex 4096 Сен 25 11:36 lex
rslsync@lex-N501JW:/home/lex$ ls -la /media/lex/
ls: cannot open directory '/media/lex/': Permission denied
关于“rslsync”用户的信息:
rslsync@lex-N501JW:/home/lex$ id
uid=999(rslsync) gid=998(rslsync) groups=998(rslsync),46(plugdev),1000(lex)
经过一段时间的研究,我尝试将用户“rslsync”添加到组“plugdev”,但正如您所见,这也不起作用。
我认为这个安装的 SSD 有一些棘手的部分。有人知道“rslsync”如何访问 /media/lex/mystorage/ 吗?
答案1
当您使用默认选项从 自动安装磁盘时fstab
,plugdev
(或其他)组不会进入画面。这是标准安装。但奇怪的是,它没有安装为root:root
。
/media/lex
和上的权限/media/lex/mystorage
很好,并且鉴于另一个用户是组的成员lex
,它应该有权rwx
访问这两个目录。
我怀疑阻止访问的是 上设置的 ACL /media/lex
。您的ls -l
输出显示+
上的/media/lex
。这表明已设置了其他权限,可能阻止非所有者访问该路径。使用getfacl /media/lex
查看权限并setfacl
更改它们。
如果您只是想摆脱 ACL,那么setfacl -b /media/lex
就可以这样做。
答案2
您需要授予“其他人”写权限,或者将用户“rslsync”添加到组“lex”。
要授予“其他人”写入权限,您应该执行以下操作
sudo chmod o+rwx /media/lex/mystorage
那么一切都应该顺利进行。