Скрипт Bash sudo без запроса пароля - Manjaro NFS монтируется - PullRequest
0 голосов
/ 10 сентября 2018

Я некоторое время искал, почему моя конфигурация sudo не работает для монтирования локального NAS-сервера через NFS без запроса пароля - тем более, что он работал в течение многих лет в Fedora и, похоже, не работает ста же конфигурация под Манджаро.Идея состоит в том, чтобы просто позволить моей жене монтировать файлы по своему усмотрению, без запоминания сложных паролей и во избежание использования 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).Затем я последовал за вики (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 group (к которой принадлежит manon), безрезультатно.

Кто-нибудь имел представление о пропущенном мною шаге и почему он не работает как в Fedora? Спасибо, что прочитали, и всего наилучшего

1 Ответ

0 голосов
/ 10 сентября 2018

Я наконец-то нашел ответ на свой вопрос - я напишу на всякий случай, если он будет полезен любому, кто споткнется о ту же ошибку. Как указано в вики (https://wiki.archlinux.org/index.php/Sudo#Example_entries):

Самый настраиваемый параметр должен идти в конце файла, так как более поздние строки переопределяют предыдущие.

Таким образом, проблема заключается не в том, чтобы полагаться на комментарии по умолчанию в файле 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, увеличивая имя файла.

Извините за шум, если это было очевидно, и надеялся быть полезным для других. Всего наилучшего,

...