Re: Python: kako unjeti password za sudo unutar skripte

Poslao sasa_ on 01.10.2009 17:44:22
Evo outputa kao sto sam i obecao:
sasa@sasa-desktop:/dev/disk/by-uuid$ pwd
/dev/disk/by-uuid
sasa@sasa-desktop:/dev/disk/by-uuid$ ls -l
total 0
lrwxrwxrwx 1 root root 9 2009-10-01 05:57 479E-3F94 -> ../../sdc
lrwxrwxrwx 1 root root 10 2009-10-01 05:57 479E-4211 -> ../../sdc1
lrwxrwxrwx 1 root root 10 2009-10-01 05:56 5b36302f-f15d-41e2-ad86-a1b73e090907 -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-10-01 05:56 8112e115-1b41-4c6c-b00d-f33198234f10 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-10-01 05:56 8163bdf5-946d-4aeb-be3d-404841d37c6a -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-10-01 05:56 de2cd250-c96d-4af6-8f1a-3d96fb9120e9 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2009-10-01 05:56 ef344751-2b58-413b-9d09-60edc085015c -> ../../sda4
lrwxrwxrwx 1 root root 10 2009-10-01 05:56 f77dcddb-f3ed-4c9f-9d50-b8fac5177308 -> ../../sda2

Re: Python: kako unjeti password za sudo unutar skripte

Poslao sasa_ on 01.10.2009 6:50:23
ma siguran sam 100%, montao sam ga sa tim uuid-em preko mount, usb stickovi imaju tako kratki uuid, nisam sada doma ali kada dodjem, staviti cu output, da se uvjeriš...

Re: Python: kako unjeti password za sudo unutar skripte

Poslao slobodan on 30.09.2009 22:01:49
Meni ovo više zvuči ovako:

Citat:

UUID=479E-4211 cannot be resolved to a proper device node

pmount ne može naći ništa što bi odgovaralo UUID-u 479E-4211


Citat:

Checking for device 'UUID=479E-4211' in '/etc/fstab'

pmount provjerava da li je taj UUID definiran u /etc/fstab


Citat:

device UUID=479E-4211 handled by fstab, calling mount

Da, definiran je, pmount poziva mount - ovdje je pitanje da li bi (IMHO trebao bi) pmount trebao kreirati poddirektorij u ovakvom slučaju...


Citat:

mount: mount point /media/USB_WORK does not exist

mount javlja grešku da ovaj mountpoint ne postoji jer ga pmount nije kreirao.

Još jedna stvar mi nije jasna. Jesi li ti siguran da ti je UUID samo 479E-4211 a ne još hrpa brojeva i slova? Nekako mi je to prekratak UUID.

Sto posto si siguran da postoji

/dev/disk/by-uuid/479E-4211

a ne

/dev/disk/by-uuid/479E-4211-hrpa-drugih-znakića

koji je link na tvoj /dev/sdxy device koji ćeš mountati?

Re: Python: kako unjeti password za sudo unutar skripte

Poslao sasa_ on 30.09.2009 21:17:44
Postoji, naravno da postoji, ovaj debug ja sam shvatio na ovaj način(napominjem da nisam išao u source code)

linija
UUID=479E-4211 cannot be resolved to a proper device node
je od pmount, koji to nije mogao shvatiti jer pmount mora primit nešto tipa /dev/sdc1 ili tako šta
linija
Checking for device 'UUID=479E-4211' in '/etc/fstab'
predpostavljam da to sada radi mount
linija
device UUID=479E-4211 handled by fstab, calling mount
znaci taj mount ga je našao i pokušava ga mountatu
linija
mount: mount point /media/USB_WORK does not exist
mount ga nije uspio mountati jer direktoji /media/USB_WORK ne postoji, a to smo već zakljućili da mount ne pravi direktorij ako ne postoji nego završi sa greškom, usput iz ove linije se vidi da uuid sa tim brojem postoji jer ga inace ne bi isao ni mountatu.

instaliraj pmount pa se možeš i sam uvjeriti

Re: Python: kako unjeti password za sudo unutar skripte

Poslao slobodan on 30.09.2009 19:43:51
Citat:

UUID=479E-4211 cannot be resolved to a proper device node


Hm. Jel uopće postoji 479E-4211? Po ovome bi se reklo da ne.

Re: Python: kako unjeti password za sudo unutar skripte

Poslao sasa_ on 30.09.2009 17:40:37
malo sam te krivo razumio, ja sam mislio da oćeš reći da pmount može handlati nešto tipa, pmount -d UUID=479E-4211 , ali to nije tako

evo sta se dobije:

sasa@sasa-desktop:/etc$ pmount -d UUID=479E-4211
UUID=479E-4211 cannot be resolved to a proper device node
Checking for device 'UUID=479E-4211' in '/etc/fstab'
device UUID=479E-4211 handled by fstab, calling mount
mount: mount point /media/USB_WORK does not exist
sasa@sasa-desktop:/etc$

znaći ako se pozove pmount -d UUID=479E-4211, on to samo prosljedi mountu, loliko ja shvaćam

Re: Python: kako unjeti password za sudo unutar skripte

Poslao slobodan on 29.09.2009 20:54:55
Citat:

#/dev/disk/by-uuid/479E-4211 -> ovo NECE raditi


ovo sa -> su moji komentari to se ne smije nalaziti u fajlu, stavio sam radi objašnjenja, također linije sa # su komentirane tj. ko da ih nema


Ne znam zbog čeg si uopće mislio da bi to trebalo raditi. Ako si to iščitao iz mog komentara, onda si krivo iščitao, jer je razmak između

UUID=xyz

i

/neki/mountpoint

u tekstu koji sam napisao.

Ovaj i ovaj link su dva linka.

Re: Python: kako unjeti password za sudo unutar skripte

Poslao sasa_ on 29.09.2009 19:48:42
@slobodan
da upravu si, moraš neki fajl editirati...

JOŠ MALO PMOUNTU:
pmount ima jedino: /etc/pmount.allow fajl
i on izgleda ovako

        
# /etc/pmount.allow
# pmount will allow users to additionally mount all devices that are
# listed here.

#/dev/sdc1 -> ovo radi

sdc1 -> ovo NECE raditi
#/dev/disk/by-uuid/479E-4211 -> ovo NECE raditi


ovo sa -> su moji komentari to se ne smije nalaziti u fajlu, stavio sam radi objašnjenja, također linije sa # su komentirane tj. ko da ih nema

Re: Python: kako unjeti password za sudo unutar skripte

Poslao slobodan on 28.09.2009 23:27:01
Citat:

usput naša sam i neke greške u man stranici za pmount bar za ubuntu, tj neke stvari koje više nisu istina ako su ikada i bile.
kao što je:
Citat:

Please note that you can use labels and uuids as described in fstab (5)
for devices present in /etc/fstab. In this case, the device name need
to match exactly the corresponding entry in /etc/fstab, including the
LABEL= or UUID= part.

i nije mi jasno što je pijesnik htio reći
i još:


Pretpostavljam da u konfiguraciji pmounta trebaš staviti slično kako je i u fstabu, znači nešto tipa
UUID=xyz /neki/mountpoint
s tim da trebaš naravno saznati koji je UUID tvog usb-a.

Ali da, u dosta alata man stranice nisu najažurnije. Programeri ne vole pisati dokumentaciju...

Citat:

Mogla bi se također i napraviti skripta koja bi koristila pmount i pumount, prednost bi bila ta što se onda ne bi morao editirati /etc/sudoers, niti praviti fajlovi za mount, ali bi se morao editirati /etc/pmount.allow ili napraviti udev pravilo.


A ono, negdje uvijek moraš editirati, e sad je jedino pitanje gdje je najzgodnije.

Re: Python: kako unjeti password za sudo unutar skripte

Poslao sasa_ on 28.09.2009 21:12:34
Evo da javim rezultate, stanje je sljedeće:

kada bih ućino
pmount /dev/sdc1 USB_128M
dobio bih
Error: device /dev/sdc1 is not removable
Usput /dev/sdc1 je usb stick, pa mi nije jasno zašto se buni

Dodao sam u /etc/pmount.allow
/dev/sdc1


Ali sa ovim dodavanjem javlja se problem da mi neće svaki put biti pod imenom sdc1, ali to se može riješiti sa udev-om.

nakon toga radi kako sam zamislio sa ove dvije komande
pmount /dev/sdc1 USB_128M
pumount /dev/sdc1


usput naša sam i neke greške u man stranici za pmount bar za ubuntu, tj neke stvari koje više nisu istina ako su ikada i bile.
kao što je:
Citat:

Please note that you can use labels and uuids as described in fstab (5)
for devices present in /etc/fstab. In this case, the device name need
to match exactly the corresponding entry in /etc/fstab, including the
LABEL= or UUID= part.

i nije mi jasno što je pijesnik htio reći
i još:
Citat:

POLICY
The mount will succeed if all of the following conditions are met:
· if the mount point already exists, there is no device already mounted
at it and the directory is empty

a stvar je baš obratna, ako mount point ne postoji pmount ga stavara a pumount ga briše nakon odmountanja.

ZAKLJUČAK:
najbolje napraviti vlastitu skriptu koja prije mountanja pravi direktorij, prije mounta i briše ga nakon umounta, a sam mount i umount dodati u /etc/sudoers, tako sam ja riješio.
Mogla bi se također i napraviti skripta koja bi koristila pmount i pumount, prednost bi bila ta što se onda ne bi morao editirati /etc/sudoers, niti praviti fajlovi za mount, ali bi se morao editirati /etc/pmount.allow ili napraviti udev pravilo.

Ova poruka je od: http://www.linux.hr/newbb/viewtopic.php?forum=8&topic_id=2150