I've added these additions to config.scm, thinking it will give effect: (define %sudoers-specification (plain-file "sudoers" "root ALL=(ALL) ALL %wheel ALL=(ALL) ALL ALL ALL=(ALL) NOPASSWD: /wpa")) ....
(operating-system ... (sudoers-file %sudoers-specification) ) And reconfigured. And it works! Note that must run it with sudo! $ sudo /wpa isp Connecting to ISP provider Service networking has been stopped. Service wpa-supplicant has been stopped. Service wpa-supplicant has been started. Service networking has been started. Very nice. My usual user works nice with wpa_supplicant now. Thanks to draketo and his config example https://www.draketo.de/software/guix-config.html January 1, 2021 7:08 PM, "znavko--- via" <help-guix@gnu.org> wrote: > Hello! Happy New Year, Guix Help! > > I'd like to make my OS a bit comfortable for usual user. > > I use only wpa_supplicant + dhclient without any utility that gives control > over wifi to usual > users. > And I want to give such a control by my own hands and your advice. > > Wi-fi connection sometimes is loosing, and the way to reconnect is to restart > hurd services. > I do it by root beautifully. I need to allow usual user to do this too. > > With that task I also have two providers: wired ISP and Mobile ISP - > And I have such a script for choosing between them. > Attachment: wpa > > So this script fulfill things of reconnection and changing wpa_supplicant.conf > very easy for root. > I want to allow to usual user just to run: > > $ /wpa isp > > and my script reconnect to wifi again. > > I tried to give root privileges for user 'bob' to run script /wpa with this > line in /etc/sudoers: > # cat /etc/sudoers > root ALL=(ALL) ALL > %wheel ALL=(ALL) ALL > user ALL=(bob) NOPASSWD: /wpa > #groups bob > bob : users wheel video audio netdev > But I still have these error messages: > > $ sudo -u bob /wpa isp > Connecting to ISP provider > cp: cannot create regular file '/etc/wpa_supplicant/wpa_supplicant.conf': > Permission denied > error: connect: /run/user/1000/shepherd/socket: No such file or directory > error: connect: /run/user/1000/shepherd/socket: No such file or directory > ^X^C > $ > Please, what to do here?