Avatar
Neaktivní uživatel:

Pěkný vánoční den přeji!
Chtěla bych se zeptat, jestli je možné nějak uživateli omezit heslo? Konkrétně na nečíselné vstupy a pak i co se týče délky. Na netu jsem našla akorát toto:

${#passwd}

etc.. Což mi nefunguje

Děkuji za odpověď :)

Odpovědět  +1 24.12.2015 15:11
Neaktivní uživatelský účet
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
Jindřich Máca:

Ahoj, tak passwd sám osobě nic podobného neumí. Já bych tedy doporučoval napsat si na to vlastní příkaz / skript, který nejdřív zadané heslo ověří proti regulárnímu výrazu, splňujícímu dané podmínky, a pokud projde, pošle ho na passwd a pokud ne, udělá třeba něco jiného. :) Problém pak je, že při vyplňování hesla do passwd, nejsou vidět znaky, což se ale dá v rámci skriptu také zařídit. ;)

Editováno 24.12.2015 15:28
 
Nahoru Odpovědět 24.12.2015 15:28
Avatar
Filip Šohajek
Redaktor
Avatar
 
Nahoru Odpovědět  +1 24.12.2015 15:31
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Jindřich Máca
Jindřich Máca:

Další problém bude to přeposlání hesla, protože passwd funguje jako interaktivní konzole, takže to nepůjde řešit klasickou pipou. :D Když nad tím tak přemýšlím, bude to asi muset být skript, protože na příkaz už je to moc komplexní... :-S

 
Nahoru Odpovědět 24.12.2015 15:34
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Filip Šohajek:

Ohledně PAM, jednoduchý příklad by byla editace souboru /etc/pam.d/common-password.
Příklad :

password required pam_cracklib.so minlen=6

kromě minlen můžeš nastavit i počet jednotlivých druhů znaků, a to konkrétně pomocí lcredit (malé písmena), ucredit (velké písmena), dcredit (čísla) a ocredit (ostatní).
Takže příklad číslo 2 :

password required pam_cracklib.so minlength=6 dcredit=0

Toto by mělo udělat, co potřebuješ

 
Nahoru Odpovědět  +1 24.12.2015 15:35
Avatar
Odpovídá na Jindřich Máca
Neaktivní uživatel:

Jsem asi natvrdlá, ale když ho neukládám do žádné proměnné? Tvořím to heslo totiž přes zip.

Nahoru Odpovědět 24.12.2015 15:39
Neaktivní uživatelský účet
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
Jindřich Máca:

Takhle, pokud to šifruješ přes příkaz

zip --encrypt ...

tak ten Ti opět nedává možnost nějak to heslo validovat. Tam vidím jako nejlepší možnost celé to obalit do vlastního skriptu, kde pouze zadávané heslo podrobíš validaci a ostatní přepošleš na zip. Pro tu validaci, pak klidně můžeš použít ten PAM. Každopádně napsat takový skript není úplně snadné...

 
Nahoru Odpovědět  +1 24.12.2015 15:52
Avatar
Odpovídá na Jindřich Máca
Neaktivní uživatel:

Aha, o to mi právě šlo, používám přesně ten příkaz :( No mám to do školy a chtěla jsem tam ošetřit některé ty případy, protože v zadání mám pouze číselné heslo, ale jak to tak vidím... :D Zkusím na to mrknout a pak dám vědět. Děkuji zatím! :)

Nahoru Odpovědět  +1 24.12.2015 16:00
Neaktivní uživatelský účet
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Filip Šohajek:

A nestačilo by použít něco v tomto smyslu?

#!/usr/bin/env bash
echo "Enter the password : "
read -s password
# Tady si to zvaliduj jak potřebuješ
zip -P "$password" # Ostatní argumenty

Samozřejmě není to vůbec bezpečné. Ostatní uživatelé by přes ps mohli vidět heslo, které bylo poskytnuto.

 
Nahoru Odpovědět  +1 24.12.2015 16:18
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Filip Šohajek
Jindřich Máca:

No, něco podobného jsem měl na mysli, ale z hlediska bezpečnosti a předávání těch ostatních argumentů to právě nebude tak jednoduché. :)

 
Nahoru Odpovědět 24.12.2015 16:24
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na Jindřich Máca
Filip Šohajek:

Tak maximálně použít python, ale to nesplňuje zadání.

 
Nahoru Odpovědět 24.12.2015 17:16
Avatar
mkub
Redaktor
Avatar
Odpovídá na Filip Šohajek
mkub:

v bashi simyslim, ze sa to ani neda urobit uplne bezpecne, ale to asi nebude predmetom zadania..

a aj ja som myslel na to tvoje riesenie, lebo problem bol akurat v tom, ze chybali tam prikazy na pracu s konzolou, preto jej vypisalo tu chybku

 
Nahoru Odpovědět 24.12.2015 18:56
Avatar
Odpovídá na Filip Šohajek
Neaktivní uživatel:

Vůbec mi to přes

read -s password

neprojde, hlásí mi to neplatný vstup..

Python používat nemůžu, to by ten úkol pak docela ztratil význam :)

Nahoru Odpovědět 25.12.2015 1:07
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.