【问题标题】:Bash sudo script without prompting for password – Manjaro NFS mountingBash sudo 脚本不提示输入密码 – Manjaro NFS 挂载
【发布时间】:2019-02-14 10:17:39
【问题描述】:

我一直在寻找为什么我的 sudo 配置无法通过 NFS 挂载本地 NAS 服务器而不提示输入密码 - 更何况它在 Fedora 下已经工作了多年,而且似乎不适用于Manjaro 下的配置相同。 这个想法只是让我的妻子随意挂载文件,而不用记住复杂的密码,并且避免依赖 fstab,以免在不在本地网络时减慢启动时间。 该脚本很简单,包含一个文件夹列表,如下所示:

```bash
#!/bin/bash
mount -t nfs 192.168.X.X:/volume1/manon /mnt/NAS/manon -o auto,user,rw,noatime
# more folders…
exit 0
```

当与 sudo 一起使用时,它当然可以按预期工作,并提供用户密码(也使用方便的 bashrc 别名)。 然后,我按照 arch wiki (https://wiki.archlinux.org/index.php/Sudo#Example_entries) 将 NOPASSWD 应用到我的用户的预期脚本上(我还尝试在此处添加 pacman 系统更新):

```
manon ALL=(ALL) NOPASSWD: /home/manon/.script/NASNFS.sh,/usr/bin/pacman -Syyu
```

由 sudo -lu 确认:

```console
[manon@manonPC ~]$ sudo -lU manon
L'utilisateur manon peut utiliser les commandes suivantes sur manonPC :
    (ALL) NOPASSWD: /home/manon/.script/NASNFS.sh, /usr/bin/pacman -Syyu
    (ALL) ALL
```

但是,它仍然要求输入密码——安装文件或更新系统——无论我做什么……我还尝试将主机名添加到 visudo,或使用 %wheel 组(manon 所属),但没有结果。

有没有人知道我错过的步骤以及为什么这在 Fedora 中不起作用? 感谢您阅读,祝您一切顺利,

【问题讨论】:

    标签: bash sudo nfs manjaro


    【解决方案1】:

    我终于找到了我的问题的答案——我会发布它以防万一它对任何因同样错误绊倒的人有用。 如维基中所述(https://wiki.archlinux.org/index.php/Sudo#Example_entries):

    最自定义的选项应该放在文件的末尾,因为 后面的行会覆盖前面的行。

    因此问题在于不要依赖 visudo 文件中的默认 cmets,因为有一个最终命令很容易被误认为是注释 - 但不是:

    #includedir /etc/sudoers.d
    

    这包括一个确实包含 10 个安装程序文件的目录,在轮组上应用默认行为,覆盖我的自定义命令:

    %wheel ALL=(ALL) ALL
    

    这就是为什么我有 sudo -lU manon 输出:

    [manon@manonPC ~]$ sudo -lU manon
    L'utilisateur manon peut utiliser les commandes suivantes sur manonPC :
        (ALL) NOPASSWD: /home/manon/.script/NASNFS.sh, /usr/bin/pacman -Syyu
        (ALL) ALL
    

    而不是现在:

    [manon@manonPC ~]$ sudo -lU manon
    L'utilisateur manon peut utiliser les commandes suivantes sur manonPC :
        (ALL) ALL
        (ALL) NOPASSWD: /home/manon/.script/NASNFS.sh
    

    结论:请注意在文件末尾的 visudo 中添加您的自定义规则,或者在 sudoers.d 文件夹中创建一个新文件,增加文件名。

    如果这很明显,请原谅噪音,并希望对其他人有所帮助。 万事如意,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-19
      • 2010-09-30
      • 2011-04-27
      • 2019-09-04
      • 1970-01-01
      • 2019-02-13
      • 1970-01-01
      • 2020-09-30
      相关资源
      最近更新 更多