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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-07-13 19:07:40

  macios4x - Użytkownik

macios4x
Użytkownik
Zarejestrowany: 2012-12-10

wykonanie operacji z hasłem w skrypcie

Robię taki oto prosty skrypt:

Kod:

#!/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ć?


Zwolennik Open Source, użytkownik Arch, Debian

Offline

 

#2  2013-07-13 19:38:02

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: wykonanie operacji z hasłem w skrypcie

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

Offline

 

#3  2013-07-13 19:54:54

  macios4x - Użytkownik

macios4x
Użytkownik
Zarejestrowany: 2012-12-10

Re: wykonanie operacji z hasłem w skrypcie

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)


Zwolennik Open Source, użytkownik Arch, Debian

Offline

 

#4  2013-07-13 20:35:08

  krasnij - oj tam

krasnij
oj tam
Skąd: z JO73VT
Zarejestrowany: 2012-05-04
Serwis

Re: wykonanie operacji z hasłem w skrypcie

Korzystając z samego basha nie jest to możliwe. Będziesz musiał użyć expect. Np. coś takiego:

Kod:

#!/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)


Pozdrawiam i życzę sukcesów :)
The truth is out there.

Offline

 

#5  2013-07-14 12:36:33

  gindek - Zubr, bydle na etacie.

gindek
Zubr, bydle na etacie.
Skąd: Z puszczy.
Zarejestrowany: 2008-12-08

Re: wykonanie operacji z hasłem w skrypcie

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.


" Wojny przychodzą i odchodzą, a moi żołnierze są wieczni"


"Zbuduj mały, dziarski router z udostępnionych przez prowadzącego części od Kamaza?"

Offline

 

#6  2013-07-14 13:09:12

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: wykonanie operacji z hasłem w skrypcie

aptitude update to przykład czy konkretnie o to chodzi? Jeśli konkretnie, to można do crona wrzucić bez sudo i będzie z roota i tak, ewentualnie cron-apt itp.

Offline

 

#7  2013-07-14 15:58:56

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: wykonanie operacji z hasłem w skrypcie

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


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2013-07-14 16:09:39

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: wykonanie operacji z hasłem w skrypcie

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

 

#9  2013-07-14 16:40:42

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: wykonanie operacji z hasłem w skrypcie

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

 

#10  2013-07-14 16:45:17

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: wykonanie operacji z hasłem w skrypcie

Gdzieś czytałem, że to odpowiada za parametry polecenia. Muszę coś poprawić. xD

Offline

 

#11  2013-07-16 12:25:09

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: wykonanie operacji z hasłem w skrypcie

Milusi jest ten cron-apt:

Kod:

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)