useradd??

3 отговора 115 прегледа
#1

useradd??

Imam edin problem: ne moga da sazdam user account t.e. izpolzvam pomo6tnata programa useradd za tazi cel no se poiaviava slednia problem :
parolata v /etc/shadow e tazi koiato sam zadal, no vsa6tost tova i e criptirania i vid , a tia e savsem druga, za6toto posle izob6to ne moga da vlezna s toia user i taia parola naprimer: "useradd -d /home/user1 -m -p 123456 user1" i v /etc/shadow sre6tu user1 stoi na miastoto na parolata 123456 vmesto he6irania i vid. Drug problem sazdavam user ot grafi4noto prilojenie tam polojenieto s parolata se opravia no pak kato tragna da se logvam s novosazdadenia user vlizam no mi pi6e 4e ID ne moje da napravi asociacia na UID-to s imeto na user-a i prompta mi izglejda taka [I dont have a name@localhost user1]$, a kato otvoria /etc/passwd si ima user user1 i saotvetnoto id sre6tu nego s koeto pi6e 4e ne moje da asociira ime.Kvo iska toia ne znam?
Ako moje da mi pomogne niakoi 6te sam mu mnogo blagodaren!!!!

Отговор
в отговор на fena #2

Re: useradd??

Когато задаваш парола с -p, тя се записва във /etc/shadow непроменена доколкото знам. Т.е. с "-p 123456" в /etc/shadow ще имаш записана парола 123456, което би трябвало да е криптирана друга парола
(Леле, колко глупости написах за нещо, което вероятно ти е добре известно ;-))

Опитай по този начин:
useradd -d /home/user1 -m -p `perl -e 'print crypt "123456", "12";'` user1

Така би трябвало да стане... и внимавай с апострофите ;-)

Отговор
в отговор на phalaaxx #3

Re: useradd??

Потръпвам при мисълта, че паролата на потребителя ще остане в явен вид
във файла, в който се съхранява историята на командите на shell-а. Ако все
пак не ти пука, или shell-а ти не пази история (или си забранил това), тогава
можеш да ползваш следния script:

#/bin/sh

HOME=/home

[ X"$1" = X"" ] && echo "Username not specified" 1>&2 && exit 1
[ X"$2" = X"" ] && echo "Password not specified" 1>&2 && exit 2

useradd -d $HOME/$1 -m $1
echo $2 | passwd --stdin $1

Ако script-а ти се казва, да речем, myuseradd.sh, можеш да го стартираш така:
myuseradd.sh newuser 123456

Решението сигурно ще работи само на Linux, поради специфичната --stdin
опция. От друга страна, обаче, ще работи с MD5 пароли (или каквито са
настроени по подразбиране); perl -e 'print crypt(...)' ще генерира DES-кодиран низ, който може да не се поддържа от операционната система.


RTFM!
--sdg
Отговор
в отговор на sdg #4

Re: useradd??

Не съм много наясно за криптирането на паролите, не съм се интересувал. Ако искаш, обаче, може и в MD5 да го извадя от perl ;-)
Това на кой, за какво му трябва да добавя потребител със shell script - не е моя работа, но и аз не бих го правил така.
Ако обаче искаш през web да можеш да добавяш потребители, тогава ще ти трябва някакво подобно решение ;-)
(а и няма да те е грижа за history-то, защото няма да има такова)
Освен това, ако все пак имаш парола в явен вид, честно казано не виждам какво те притеснява - само root (или потребител със същите права) може да добавя други потребители => само той ще си вижда history-то, а ако имаш парола за root, дори да не знаеш паролата на някой потребител... su test1 и си готов :D

Отговор