我正在与 Ubuntu 14.04 进行 SSH 会话,并尝试使用以下命令挂载 Windows 98SE 共享:
sudo mount -t cifs //192.168.0.2/uniserv /tmp/uniserv/ -o sec=lanman,servern=Uniplus1
作为回应,Ubuntu 要求我输入共享的 root 密码:
Password for root@//192.168.0.2/uniserv:
为什么共享没有安装并且为什么要求我输入 root 密码?
答案1
您以 root 身份运行该mount
命令,并且未指定其他用户名。您可以添加到列表中(其中username=user
-o
user
是目标机器上的用户名):
sudo mount -t cifs //192.168.0.2/uniserv /tmp/uniserv/ -o username=user,sec=lanman,servern=Uniplus1
如果你想以访客身份连接到共享,在列表中使用guest
代替:username=user
-o
sudo mount -t cifs //192.168.0.2/uniserv /tmp/uniserv/ -o guest,sec=lanman,servern=Uniplus1
如果服务器提供了所有权和权限信息,mount.cifs
则会尝试遵守。否则,共享中的所有文件和目录都将归 root 所有,并且只能由 root 访问。如果您不希望这样,可以添加和uid
或gid
参数来指定用户或组 ID。一种常见的方法是uid=$UID
。例如:
sudo mount -t cifs //192.168.0.2/uniserv /tmp/uniserv/ -o guest,uid=$UID,sec=lanman,servern=Uniplus1
这UID
环境变量是bash
主义(也出现在zsh
),因此如果你从不支持该命令的 shell 调用该命令(例如dash
, 哪个sh
在 Ubuntu 中提供), 使用$(id -ru)
而不是(或者手动输入你的实际用户 ID 号从/etc/passwd
):
sudo mount -t cifs //192.168.0.2/uniserv /tmp/uniserv/ -o guest,uid=$(id -ru),sec=lanman,servern=Uniplus1
来源:主要man mount.cifs
。
如果您希望以普通(非 root)用户身份执行挂载操作,如何以非 root 用户身份挂载 Samba 共享可能会有帮助。
答案2
我解决了如何使用 mount.cifs 将旧版 Windows 98 连接到 Ubuntu/Debian(就我而言,我的系统是Raspbian
),工作命令是:
sudo mount -t cifs -o user=guest,pass=,vers=1.0,sec=none,domain=MOSSBAUERLAB,ip=192.168.10.217,servern=MICHAEL //MICHAEL/AUTOSAVES /mnt/sm2201/dev
在哪里:
MICHAEL
我的计算机名称是AUTOSAVES
共享文件夹的名称MOSSBAERLAB
是工作组名称
有一件重要的事情需要注意,所有名称(计算机、工作组、共享)都必须大写。