Fstab 为用户 noauto 挂载 smbfs 共享,通过 GUI 要求输入密码

Fstab 为用户 noauto 挂载 smbfs 共享,通过 GUI 要求输入密码

我正在尝试从我的笔记本电脑连接我的工作电脑 d:。虽然可以直接访问磁盘,但我需要使用计算机管理员帐户。而且我不想将管理员帐户的密码保存在笔记本电脑的 fstab 文件中。

# work share
//172.16.8.2/d$         /home/user/domain/d   smbfs username=administrator,domain=domain,user,rw,noauto  0  0

这是它在终端中的样子

$ mount ~/npn/d
Password: 

我很快就把它安装好了。

现在遇到麻烦了:如果我尝试在文件浏览器中“单击” d“驱动器”,我会遇到此错误框:

无法挂载 d
密码:mount error(13): Permission denied
请参阅 mount.cifs(8) 手册页(例如 man mount.cifs)

逻辑,因为图形界面不能像终端那样给我一个密码登录提示。

有什么方法可以解决这个问题,只需“单击”未安装的 d 驱动器即可获得 GUI 密码提示吗?

答案1

bodhi.zazen:我相信你正在被问及 SAMBA 密码

是的,这是终端中要求输入的 Samba 密码。似乎没有一个好的解决方案来通过 GUI 弹出窗口输入 SAMBA 密码。而且由于我想要将密码保存在凭证文件、fstab 或单独的 autofs 文件中。我将接受它并启动终端并写入:

mount ~/npn/d

然后在终端输入SAMBA密码。

答案2

您有两个选择:

  1. 我相信您正在被要求输入 SAMBA 密码,因此请将密码添加到fstab条目中:

    username=administrator,password=admin_samba_password,domain=domain,user,rw,noauto
    

    如果你不想在fstab,请使用凭证文件在此博客文章中描述

    以 root 身份运行以下命令,但根据需要更改路径:

    mkdir -p /path/securedir
    chmod 0700 /path/securedir
    chown root /path/securedir
    

    /path/securedir/fileshare然后创建一个包含以下内容的文件:

    username=yourusername
    password=yourpass
    

    现在附加credentials=/path/securedir/fileshare到您的 fstab 条目。

  2. 您的另一个选择(也是我使用的选项)是autofs。它需要一点时间来配置,但它是按需安装的,并且对最终用户是不可见的。

答案3

面临同样的问题。对我来说,从 NAS 安装 CIFS 共享

面临的问题...

1/ mount 没有指定密码处理程序的方法(例如 sudo、ssh 等使用的)

2/ 将密码放在 fstab 中,系统上的任何人都可以随时读取它!

3/ mount 可以设置密码,但这意味着它在命令行上,并且密码在短时间内对系统上的任何人都可见。但这似乎是唯一的方法。

4/ mount 仅当以 root 身份运行时才会接受选项,但如果“mount.cifs”设为 SUID,则您无需以 root 身份运行 mount!

当前解决方案。

鉴于大多数系统上都有“/usr/libexec/openssh/x11-ssh-askpass”(参见http://www.ict.griffith.edu.au/anthony/crypto/passwd_input.txt以备选)。“/etc/fstab”定义了挂载点“/mnt/cifs”。

然后,它可以作为 GUI 挂载命令工作,但需要 2 个密码......您的 SUDO(登录)密码和您的 CIFS 密码。

SUDO_ASKPASS=/usr/libexec/openssh/x11-ssh-askpass sudo -A \
   mount -o "password=$(/usr/libexec/openssh/x11-ssh-askpass 'CIFS Password')" /mnt/cifs

更新:如果您使 /sbin/mount.cifs SUID,您可以取消挂载和 /etc/fstab(尽管您可能希望保留 fstab 以允许您卸载它)。

/sbin/mount.cifs -o "user=username,pass=$(/usr/libexec/openssh/x11-ssh-askpass 'CIFS Password')"  //machine/share /mnt/cifs

相关内容