Np. wylacz.sh
Kod: Zaznacz cały
#!/bin/bash
kdesu rmmod psmouse
perl -pi -e 's/#rmmod psmouse/rmmod psmouse/' /etc/rc.local
Polecenie jest dobre bo w konsoli roota działa.
Skrypt ma być uruchamiany przez użytkownika.
Jak poprawić ten skrypt?
Kod: Zaznacz cały
#!/bin/bash
kdesu rmmod psmouse
perl -pi -e 's/#rmmod psmouse/rmmod psmouse/' /etc/rc.local
Kod: Zaznacz cały
#!/bin/bash
kdesu rmmod psmouse && perl -pi -e 's/#rmmod psmouse/rmmod psmouse/' /etc/rc.local
Kod: Zaznacz cały
sudo ./skrypt
Kod: Zaznacz cały
#!/bin/bash
if [ $# -ne 1 ]; then echo "Użycie: $0 {start|stop}"; exit 1; fi
if [ "$(id -gn)" != "root" ]; then echo "Brak uprawień roota. Pa"; exit 1; fi
if [ $1 == "start" ];
then
modprobe psmouse
echo -e "\nPsmouse: started"
elif [ $1 == "stop" ]
then
rmmod psmouse
echo -e "\nPsmouse: stoped"
elif [ $1 == "restart" ]
then
$0 stop
$0 start
echo -e "\nPsmouse: restarted"
fi
Włąsnie ta cześć się wykonuje dzięki kdesu, chodziło o tą zamianę w perl.Yuji pisze:Ale nie masz uprawnień do usunięcia modułu (rmmod) i załadowania (pewnie modprobe) (potrzeba uprawnień admina).
Kod: Zaznacz cały
#!/bin/bash
modprobe psmouse
perl -pi -e 's/rmmod psmouse/#rmmod psmouse/' /etc/rc.local
Kod: Zaznacz cały
#!/bin/bash
su root -c /home/mirko/Programy/touchpad/wlacz.sh
Kod: Zaznacz cały
visudo
Kod: Zaznacz cały
nickUsera ALL=NOPASSWD: /sciezka/do/pliku/wlacz
nickUsera ALL=NOPASSWD: /sciezka/do/pliku/wylacz
Kod: Zaznacz cały
#!/bin/sh
sudo modprobe psmouse
sudo perl -pi -e 's/rmmod psmouse/#rmmod psmouse/' /etc/rc.local
Kod: Zaznacz cały
#!/bin/sh
sudo rmmod psmouse
sudo perl -pi -e 's/#rmmod psmouse/rmmod psmouse/' /etc/rc.local
Kod: Zaznacz cały
silver ALL=NOPASSWD: /home/silver/Desktop/wlacz.sh
silver ALL=NOPASSWD: /home/silver/Desktop/wylacz.sh
Kod: Zaznacz cały
touchpadON.sh
Kod: Zaznacz cały
touchpadOFF.sh