Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Robię taki oto prosty skrypt:
#!/bin/bash sudo aptitude update exit;
tyle że nie chcę kolejno wpisywać hasło, ale żeby te hasło było już wpisane w tenże skrypt i automatycznie wykonywało operację z root'a. jak zrobić?
Offline
Chodzi mi tylko o to, aby zadziałało w tym skrypcie i nigdzie indziej. Myślałem raczej o jakiejś funkcji w skrypcie, na przykład wpiszę w ten skrypt hasło i w momencie autoryzacji pobierało właśnie te hasło, zamiast ręcznego jego wpisywania.
Ostatnio edytowany przez macios4x (2013-07-13 19:56:43)
Offline
Korzystając z samego basha nie jest to możliwe. Będziesz musiał użyć expect. Np. coś takiego:
#!/usr/bin/expect set password "wstaw tu hasło" spawn sudo aptitude update && aptitude dist-upgrade expect "Password:" send "$password\n";
Jeżeli masz spolszczony system i po wpisaniu "sudo" system powie "Hasło:", to zamiast expect "Password:" wpisujesz expect "Hasło:"
Ostatnio edytowany przez krasnij (2013-07-13 20:37:09)
Offline
macios4x napisał(-a):
Chodzi mi tylko o to, aby zadziałało w tym skrypcie i nigdzie indziej. Myślałem raczej o jakiejś funkcji w skrypcie, na przykład wpiszę w ten skrypt hasło i w momencie autoryzacji pobierało właśnie te hasło, zamiast ręcznego jego wpisywania.
to co ci morfik powiedzial bedzie dzialalo tylko w twoim skrypcie, o ile do sudoers dodasz nazwe skryptu ....
w skrypcie ustawiasz prawa zapisu tylko dla wlasciciela, a jako wlasciciela robisz root.
Wtedy tylko root moze modyfikowac skrypt, tylko skrypt moze byc wykonany bez hasla z prawami root.
Offline
morfik napisał(-a):
Jak sudo używasz to dodaj sobie linijkę do /etc/sudoers, która będzie opisywać twoje polecenie. Coś w stylu:
Kod:
morfik ALL=(root) NOPASSWD:/usr/sbin/pm-hibernate
Wiesz, co znaczy ALL w drugim parametrze?
Bo wydaje mi się, że jednak nie. :D
Offline
Zgodnie z moją wiedzą, "all" tutaj oznacza wszystkie opcje i parametry polecenia pm-hibernate. I linijka powinna brzmieć -- zezwól morfikowi na wykonanie pm-hibernate jako root nie zwarzając na parametry i opcje i dodatkowo nie prosząc o hasło. Czy się mylę? xD
Offline
Z http://dug.net.pl/tekst/63/przewodnik_po_sudo/:
Definicja nadania uprawnień ma postać:
KTO GDZIE=(JAKO_KTO) POLECENIE
KTO - pole wskazuje na listę użytkowników i grup (grupy rozpoczyna się od znaku %), których definicja dotyczy,
GDZIE - pole jest istotne tylko gdy konfiguracja sudo współdzielona jest pomiędzy wieloma komputerami, wskazuje na komputery, których definicja dotyczy, w środowiskach jedno komputerowych można użyć słów ALL lub localhost,
JAKO_KTO - lista użytkowników, których uprawnienia można wykorzystać. W konfiguracji pole to można zaniechać,
POLECENIE - polecenia lub lista poleceń, których definicja ta dotyczy Lista to wymienione nazwy po przecinkach.
Offline
Milusi jest ten cron-apt:
Jul 16 12:17:43 morfikownia cron-apt: CRON-APT RUN [/etc/cron-apt/config]: Tue Jul 16 12:00:02 CEST 2013 Jul 16 12:17:43 morfikownia cron-apt: CRON-APT SLEEP: 1007, Tue Jul 16 12:16:49 CEST 2013 Jul 16 12:17:43 morfikownia cron-apt: CRON-APT ACTION: 3-download Jul 16 12:17:43 morfikownia cron-apt: CRON-APT LINE: /usr/bin/apt-get -o quiet=1 dist-upgrade -d -y -o APT::Get::Show-Upgraded=true Jul 16 12:17:43 morfikownia cron-apt: Reading package lists... Jul 16 12:17:43 morfikownia cron-apt: Building dependency tree... Jul 16 12:17:43 morfikownia cron-apt: Reading state information... Jul 16 12:17:43 morfikownia cron-apt: The following packages will be upgraded: Jul 16 12:17:43 morfikownia cron-apt: gtk2-engines-pixbuf jfsutils libgail18 libgtk2.0-0 libgtk2.0-bin Jul 16 12:17:43 morfikownia cron-apt: libgtk2.0-common rsyslog transcode Jul 16 12:17:43 morfikownia cron-apt: 8 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Jul 16 12:17:43 morfikownia cron-apt: Need to get 9444 kB of archives. Jul 16 12:17:43 morfikownia cron-apt: After this operation, 181 kB disk space will be freed. Jul 16 12:17:43 morfikownia cron-apt: Get:1 http://ftp.pl.debian.org/debian/ testing/main libgtk2.0-common all 2.24.20-1 [3139 kB] Jul 16 12:17:43 morfikownia cron-apt: Get:2 http://ftp.pl.debian.org/debian/ testing/main libgtk2.0-bin i386 2.24.20-1 [517 kB] Jul 16 12:17:43 morfikownia cron-apt: Get:3 http://ftp.pl.debian.org/debian/ testing/main gtk2-engines-pixbuf i386 2.24.20-1 [525 kB] Jul 16 12:17:43 morfikownia cron-apt: Get:4 http://ftp.pl.debian.org/debian/ testing/main libgail18 i386 2.24.20-1 [522 kB] Jul 16 12:17:43 morfikownia cron-apt: Get:5 http://ftp.pl.debian.org/debian/ testing/main libgtk2.0-0 i386 2.24.20-1 [2214 kB] Jul 16 12:17:43 morfikownia cron-apt: Get:6 http://ftp.pl.debian.org/debian/ testing/main rsyslog i386 7.4.2-1 [669 kB] Jul 16 12:17:43 morfikownia cron-apt: Get:7 http://ftp.pl.debian.org/debian/ testing/main jfsutils i386 1.1.15-2.1 [292 kB] Jul 16 12:17:43 morfikownia cron-apt: Get:8 http://ftp.pl.debian.org/debian/ testing/main transcode i386 3:1.1.7-5 [1566 kB] Jul 16 12:17:43 morfikownia cron-apt: Fetched 9444 kB in 9s (1037 kB/s) Jul 16 12:17:43 morfikownia cron-apt: Download complete and in download only mode
I sobie pobrał w tle paczki.
Offline
Strony: 1