Sziasztok,
Az alábbi problémával küzdök pár napja:
Azt szeretném ha a transmission webes felületéhez nem én adnám meg a jelszót kézzel a settings.json fájlba, hanem egy script elvégezné ezt helyettem. Pontosabban: a linux user jelszavát szeretném beadni neki valahogy automatán.
Eddig rendben van, csináltam már egy scriptet, ami leállítja, módosítja majd elindítja a programot, de a jelszót a shadow fájlból írtam bele, ami ugye hashelve van, de mint rájöttem nem úgy ahogy a transmission szeretné.
Mivel a kliens védi a jelszavamat ha beírok egy jelszót akkor azt ő titkosítva tárolja, tehát a hashelt jelszót behasheli még egyszer :)
Valakinek van esetleg ötlete, hogy hogy tudnám megadni neki más módon a linux user jelszavát?
- 2398 megtekintés
Hozzászólások
mivel - ahogy említetted - a shadow adatbázisban hesh-elve vannak a jelszavak, a háttértárról nem visszanyerhető.
ilyesmi "user rendszerjelszavát egyéb szolgáltatás tárolójába másolni" dolgot tipikusan a password tipusú PAM modulokból szoktak intézni.
pl. a samba se úgy hash-eli a jelszót mint a unix shadow, ezért van rá pam modul, hogy login-kor ha jó a megadott jelszavad és jelszóváltáskor, átadja azt a sambának - így tartja szinkronban a unix login és samba jelszavait a usereknek.
én a helyedben pam_exec modullal hívnál meg a transmission átálligató scriptet.
hasznos lehet az pam_exec expose_authtok paramétere.
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Ez így nekem magas... Egy egyszerű megoldás lenne jó.
- A hozzászóláshoz be kell jelentkezni
Pedig egyszerű :)
http://blog.thekondor.net/2011/10/pam-authentication-for-transmission.h…
- A hozzászóláshoz be kell jelentkezni
Mi lenne ha apache proxyt tenne ele, es azzal autholnal. A transmissiont meg a localhostra huznad fol jelszo nelkul.
Itt basic megoldas, de ez alapjan megoldhatod pammal, vagy akarmivel.
ProxyPass http://localhost:9091/transmission
ProxyPassReverse http://localhost:9091/transmission
RequestHeader unset Authorization
AuthType Basic
AuthName "Restricted"
AuthBasicProvider file
AuthUserFile /etc/apache2/transmission.passwd
Require valid-user
- A hozzászóláshoz be kell jelentkezni
Na ez egy jó ötlet, kipróbálom :D Köszi
- A hozzászóláshoz be kell jelentkezni
egy sort beszúrni a pam configba bonyolultabb mint plusz egy bloatware szolgáltatást telepíteni, konfigolni, karbantartani??
ráadásul ezzel se kerülöd meg a jelszó hash problémát, ha az apache az AuthUserFile-ban nem fogadja el a shadow-os hash-t
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Van aki jobban szereti a hátulról mellbe dolgokat, mindenki másképp perverz :-)
- A hozzászóláshoz be kell jelentkezni
Fentebb azt irtad, hogy scriptet is kell irnod. Tehat nem csak egy sor beszurasa.
Apachehez van tobb pamos auth modul.
Pl. a pwauth csomagbol telepul. Leirast is lehet talalni.
Es nem addig mukodik amig a settings.json formatumat meg nem valtoztatjak.
- A hozzászóláshoz be kell jelentkezni
kovanorby írta hogy már csinált egy szkriptet a jelszó hash beszúrására, csak annyit kell benne módosítani, hogy ne a shadow-ból szedje ki hanem az stdin-ről (a pam_exec-cel oda kapja a jelszót).
a formátumváltozás (gondolom a kulcsok nevére gondosz, nem a json formátumra) jó érv.
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Elfogadja, működik. Ettől függetlenül kipróbálom a pamos verziót is, csak hogy kísérletezzek vele, de tényleg ott egy saját scriptet írt a srác, és azt kell használni hozzá, ami nem tudom mennyire biztonságos dolog. Ez talán az.
- A hozzászóláshoz be kell jelentkezni
csináltam már egy scriptet
egy saját scriptet írt a srác
itt "srác" néven magadra utalsz vagy valamiről lemaradtam? :D
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Banyek, hogy senki nem olvassa el amit belinkeltem, nesztek kimásolom ide, ennyire egyszerű pam-osítani, mert a Transmission KÉPES RÁ MAGÁTÓL (mondjuk azt nem állítom hogy ez az év security tippje):
1. Add a user which privileges the daemon is run on to the group which is able to read /etc/shadow file (if authentication in your system is performed in standard Linux way). Usually such group is called 'shadow'.
2. Add to your Transmission's settings.json "rpc-native-authentication-enabled" parameter set to "true".
3. Restart the daemon and try to re-connect using your system credentials.
- A hozzászóláshoz be kell jelentkezni
azt nem írja, ebben az esetben milyen pam szolgáltatásként működik
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Azt is tegyük hozzá, hogy ez egy 4 éve írt, nem támogatott patch segítségével működik csak. Vagy azóta már befogadták?
- A hozzászóláshoz be kell jelentkezni
bakker... Nagy a szám, olvasni meg nem tudok :D
- A hozzászóláshoz be kell jelentkezni