只能使用 sudo 访问 smb 挂载

只能使用 sudo 访问 smb 挂载

我已经在 16.04.01 服务器上安装了一个外部 smb 共享,就像这样

sudo mkdir /mnt/fileserver
sudo mount -t cifs smb://myserver/sharename /mnt/myserver/sharename -o username=me, passwrd=123, ip="100.200.0.5"

起初我尝试使用 smb://100.200.0.5/sharename,并且不使用 ip="..",因为我没有将服务器添加到 hosts 文件中,也没有设置 dns。但那没有用。它会给我一些非常奇怪的错误(忘记了),对我来说仍然很奇怪。但那只是一个旁注。

安装本身成功了,我可以访问下面的共享

/mnt/myserver/sharename 

但只能以 root 身份访问!当我查看权限时,我得到了一个我无法理解的输出。希望有人能解释一下,以及我需要做什么才能以普通用户身份访问共享

ls -l 给出 myserver

drwxr-xr-x 3 root root 4096 Feb 13 11:00 myserver

ls -l 给出共享名

drwxr-xr-x 3 99 systemd-timesync 0 Feb 6 22:04 sharename

我猜我无法访问该共享文件夹的原因是因为“99”和“systemd-timesync”。我原本以为那里也会有“root root”。当我尝试不使用 sudo 进入时,我得到:

cd sharename
-bash: cd: sharename/: Permission denied

有什么解释吗?

答案1

您的 mount 命令有错误。 你有一个 ”-0“ 应该是字母的位置 ”o“选项。您还可以将访问和权限添加到选项配置中。您还拼错了文件类型。这是韋斯不是到岸价. 还有中小企业:您的命令的一部分语法不正确。您必须将其删除才能使命令正常工作。

将命令更改为以下内容:

$ sudo mount -t cifs //我的服务器/共享名 /mnt/我的服务器/共享名 -o uid=1002,gid=100,dir_mode=0770,file_mode=0660,用户名=me,密码=123,ip="100.200.0.5"

将 uid 替换为您的用户 ID 的 uid。

或者,你可以像文件浏览器一样挂载共享使用gvfs 安装。命令语法为:

$ gvfs-mount smb://myserver/sharename

您将在以下位置找到该共享文件夹:

/var/run/user/[1001]/gvfs

将括号和数字替换为您的用户 ID 的数字。

文件夹中的实际共享名称类似于:

smb-share:server=myserver,share=sharename

你可以使用以下命令创建一个友好名称来访问共享:

$ ln -s /var/run/user/[1001]/gvfs/smb-share:server=myserver,share=sharename ~/sharename

使用 symlink 命令后,您可以使用以下命令访问共享:

$ cd ~/sharename

相关内容