Jump to content

Skrypt startowy z prawami root-a


Jonshu
 Share

Recommended Posts

Cześć,

czy mógłbym Was poprosić o wskazówkę jak uruchomić skrypt startowy aby działał z prawami root-a nie pytając o hasło?

mam sobie takie polecenie które wyłącza podświetlenie klawiatury,
działa ale wymaga ręcznego uruchomienia i wpisania hasła

echo '0' >  /sys/devices/.../kbd_backlight

próbowałem też zmienić uprawnienia do pliku ale to nie pomogło,
uprawnienia są każdorazowo nadpisywane przy restarcie systemu

sudo chmod a+S  /sys/devices/.../kbd_backlight

 

Link to comment
Share on other sites

Dzięki,
niestety nie chce to działać, nie wiem co robię źle,

jonshu  ALL=(ALL) NOPASSWD: /home/damian/.scripts/kbd-backlight-disable.sh
jonshu  ALL=(ALL) NOPASSWD: /sys/devices/platform/asus-nb-wmi/leds/asus\:\:kbd_backlight/brightness

zawartość pliku .sh

echo '0' > /sys/devices/platform/asus-nb-wmi/leds/asus\:\:kbd_backlight/brightness

 

Link to comment
Share on other sites

30 minut temu, Jonshu napisał:

niestety nie chce to działać, nie wiem co robię źle,

A masz jakieś komunikaty błędów

 

32 minuty temu, Jonshu napisał:
damian  ALL=(ALL) NOPASSWD: /sys/devices/platform/asus-nb-wmi/leds/asus\:\:kbd_backlight/brightness

tutaj to raczej brakuje echo "0" > przed ścieźką do pliku

 

33 minuty temu, Jonshu napisał:

zawartość pliku .sh

echo '0' > /sys/devices/platform/asus-nb-wmi/leds/asus\:\:kbd_backlight/brightness

 

Brakuje shebang (#!/usr/bin/bash)

Link to comment
Share on other sites

W dniu 12.11.2023 o 19:02, sunrise napisał:

tutaj to raczej brakuje echo "0" > przed ścieźką do pliku

skąd ludzie mają wiedzieć jak tworzyć składnię w takich plikach?

/etc/sudoers:57:27: błąd składni
jonshu	ALL=(ALL) NOPASSWD:echo '0' > /sys/devices/platform/asus-nb-wmi/leds/asus\:\:kbd_backlight/brightness
                          ^~~~

/etc/sudoers:57:28: błąd składni
jonshu	ALL=(ALL) NOPASSWD: echo '0' > /sys/devices/platform/asus-nb-wmi/leds/asus\:\:kbd_backlight/brightness
                           ^~~~

 

Link to comment
Share on other sites

Błąd jest w tym, że podajesz po prostu "echo" zamiast pełnej ścieżki do binarki, czyli zapewne "/usr/bin/echo" ;) Piszą o tym w man sudoers, tu właściwy wycinek:

A  Cmnd_List  is  a list of one or more commands, directories, or aliases.  A command is a fully qualified file name, which may include shell-style wildcards (see the “Wildcards” section below), or a regular expression that
       starts with ‘^’ and ends with ‘$’ (see the “Regular expressions” section below).  A directory is a fully qualified path name ending in a ‘/’.  When you specify a directory in a Cmnd_List, the user will be able  to  run  any
       file within that directory (but not in any sub-directories therein).  If no command line arguments are specified, the user may run the command with any arguments they choose.  Command line arguments can include wildcards or
       be a regular expression that starts with ‘^’ and ends with ‘$’.  If the command line arguments consist of ‘""’, the command may only be run with no arguments.

 

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...