不提示输入密码的Bash sudo脚本–;Manjaro NFS安装

不提示输入密码的Bash sudo脚本–;Manjaro NFS安装,bash,sudo,nfs,manjaro,Bash,Sudo,Nfs,Manjaro,我已经搜索了一段时间,为什么我的sudo配置在没有提示输入密码的情况下无法通过NFS装载本地NAS服务器——尤其是在Fedora下它已经工作了多年,在Manjaro下似乎无法使用相同的配置。 这个想法很简单,就是让我的妻子可以随意挂载文件,而不需要记住复杂的密码,并且为了避免依赖fstab,这样当不在本地网络上时,启动时间就不会变慢。 该脚本非常简单,包含如下文件夹列表: ```bash #!/bin/bash mount -t nfs 192.168.X.X:/volume1/manon /m

我已经搜索了一段时间,为什么我的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()将NOPASSWD应用到我的用户的预期脚本中(我还尝试在这里添加pacman系统更新):

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那样有效?
感谢您的阅读,祝您一切顺利,

我终于找到了问题的答案——我将发表这篇文章,以防任何人在同样的错误中绊倒。 如wiki()中所述:

最自定义的选项应位于文件的末尾,如 后面的行将覆盖前面的行

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

#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文件夹中创建一个新文件,增加文件名

对不起,如果这是明显的噪音,希望能对其他人有所帮助。 祝你一切顺利

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