“只有root可以挂载”错误-但我是root


9

昨天我可以使用以下命令挂载smb共享:

sudo mount -t cifs //XXXX/share /media/share -o user=Ben,password=XXX,workgroup=WORKGROUP,ip=XXX.XX.XX,uid=ben,gid=ben,rw

我不知道为什么它不再起作用了。(也许来自系统更新)。

我收到以下错误:

mount: only root can mount //XXX.XXX.XXX/share on /home/ben/share

我不知道如何解决这个问题。

我也尝试过用su挂载它,并且Smbclient正在工作。

我正在运行ArchLinux。


1
输出是echo "$EUID"什么?
克里斯·

1
@ChrisDown echo $ EUID = 1000
Ben D

6
@BenD-在这种情况下,您不能有效地以root用户身份运行。(显然,这应该在尝试装入的环境中运行,因此应确保它是正在扩展的根外壳$EUID。)
Chris Down

2
为什么错误消息和mount命令之间的路径不同?一个是/media/share,另一个是/home/ben/share。另外,我建议/mnt用于手动或静态安装。 /media是为HAL / udev守护程序创建的,用于挂载动态创建的磁盘(如USB驱动器)。
penguin359'3

1
如@ 9000所述,通过在挂载命令中添加-v来查看详细模式的内容。另外,请检查系统日志(如果尚未安装)和dmesg,并可能在命令上运行strace以进行更深入的故障排除。
Banjer 2012年

Answers:


1

如果您不知道会发生什么,请尝试strace:

sudo strace -f -F -o mount.strace mount -t cifs //XXXX/share /media/share -o user=Ben,password=XXX,workgroup=WORKGROUP,ip=XXX.XX.XX,uid=ben,gid=ben,rw

然后尝试mount.strace从底部搜索文件中的一些错误,您显然会找到原因...这是很难的方法,我知道...


0

由于我看不到您的错误的任何正当原因,因此我建议使用稍微不同的语法。

首先,我将以root用户身份创建一个新目录(确保root用户可以创建它),然后使用稍微不同的选项挂载共享。以下是命令(它们应该全部成功):

sudo mkdir /mnt/smb_share
sudo touch /mnt/smb_share/test && sudo rm -f /mnt/smb_share/test && echo "Permissions are OK"
sudo mount -t cifs //(hostname)/share /mnt/smb_share -o user=Ben,domain=(WORKGROUP)

mount命令应询问您的Samba用户Ben密码。我删除了uid和gid选项只是为了删除一些“噪音”。使用此命令,您应该能够验证是否可以安装共享。当然您需要更换:

  • (主机名)按共享服务器主机名。如果它不适用于主机名,请重试,但改用IP地址。
  • (WORKGROUP)通过您的工作组或域。

如果这项工作。尝试卸载共享,然后仅使用uid重新安装:

sudo umount /mnt/smb_share
sudo mount -t cifs //(hostname)/share /mnt/smb_share -o user=Ben,domain=(WORKGROUP),uid=ben

如果可行,请添加gid,然后添加rw,最后添加password选项(逐步操作)。因此,您可以确定不了解哪个选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.