![只能使用 sudo 访问 smb 挂载](https://linux22.com/image/890938/%E5%8F%AA%E8%83%BD%E4%BD%BF%E7%94%A8%20sudo%20%E8%AE%BF%E9%97%AE%20smb%20%E6%8C%82%E8%BD%BD.png)
我已经在 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