Strona 1 z 1
Brak dostępu do zapisu pliku przez skrypt bash
: 15 lut 2015, 15:02
autor: civi
Witam
Mam problem. Muszę nadpisać jeden plik, jednakże mam problem z powodu braku dostępu.
Kod: Zaznacz cały
[civi@Dell ~]$ su -c "echo "disable" > /sys/firmware/acpi/interrupts/gpe11"
Hasło:
bash: linia 0: echo: błąd zapisu: Zły argument
[civi@Dell ~]$ su -c 'echo "disable" > /sys/firmware/acpi/interrupts/gpe11'
Hasło:
bash: linia 0: echo: błąd zapisu: Zły argument
[civi@Dell ~]$ sudo echo "disable" > /sys/firmware/acpi/interrupts/gpe11
bash: /sys/firmware/acpi/interrupts/gpe11: Brak dostępu
Staram się zapisać do pliku gpe11 słowo disable, jednakże nie udaje się. Jedyne co działa to zalgowanie się na root i wpisanie polecenia ręcznie, a ja chcę to wrzucić w skrypt. Teoretycznie powinno wszystko działać wg. google, ale praktycznie są same schody.
Re: Brak dostępu do zapisu pliku przez skrypt bash
: 15 lut 2015, 19:07
autor: jacekalex
sudo to nie jest pełnowartościowy root.
Spróbuj zamiast samego sudo dać:
Kod: Zaznacz cały
sudo -u root echo "disable" > /sys/firmware/acpi/interrupts/gpe11
Czasami pomaga, choć nie zawsze.
Względnie może pomóc:
Kod: Zaznacz cały
su root -c echo "disable" > /sys/firmware/acpi/interrupts/gpe11
Pozdro

Re: Brak dostępu do zapisu pliku przez skrypt bash
: 27 lut 2015, 22:23
autor: civi
Sprawdziłem jedną i drugą komendę i obydwie dają wynik brak dostępu.
Re: Brak dostępu do zapisu pliku przez skrypt bash
: 28 lut 2015, 16:26
autor: Mały 1
To pokaż uprawnienia do pliku
Re: Brak dostępu do zapisu pliku przez skrypt bash
: 28 lut 2015, 22:48
autor: civi
Kod: Zaznacz cały
-rw-r--r-- 1 root root 4096 02-28 22:44 /sys/firmware/acpi/interrupts/gpe11
Re: Brak dostępu do zapisu pliku przez skrypt bash
: 01 mar 2015, 00:11
autor: Mały 1
Nadaj uprawnienia do zapisu dla użytkownika grupy i ogółu
Z konta administratora
Kod: Zaznacz cały
chmod ugo+rw /sys/firmware/acpi/interrupts/gpe11
i zobacz czy działa.
Re: Brak dostępu do zapisu pliku przez skrypt bash
: 01 mar 2015, 02:51
autor: enedil
Sudo to pełnowartościowy root. Tylko że działa dla danej komendy, a nie dla całej powłoki. Z tego powodu nic nie zapiszesz w takim pliku, bo strumień idzie na uprawnieniach użytkownika.
Rozwiązanie? tee:
Re: Brak dostępu do zapisu pliku przez skrypt bash
: 02 mar 2015, 21:10
autor: civi
Dzięki za pomoc enedil. NIe wiem jedynie dlaczego powyższe polecenie nie działa (pomimo braku błędu nic się nie zapisało), a zadziałało polecenie
Kod: Zaznacz cały
echo 'disable' | sudo tee /sys/firmware/acpi/interrupts/gpe11
Re: Brak dostępu do zapisu pliku przez skrypt bash
: 05 mar 2015, 16:15
autor: enedil
Oczywiście masz rację. Tam powinien być znak |. Oznacza to 'pipe', czyli przesłania wyjścia jednego programu jako wejście do drugiego. Natomiast '>' powoduje przekierowanie do pliku. Już poprawiłem, aby nie mylić.
Re: Brak dostępu do zapisu pliku przez skrypt bash
: 05 mar 2015, 20:23
autor: civi
Jeszcze raz dzięki za pomoc. Temat można zamknąć.