LinuxForum.Fans
Тема

[Решено] Автоматизация добавления пользователей

Автор: Aspedin 12 сообщений 3716 просмотров
#36348

Две проблемы:
1) adduser в debain не может задавать пароль через -p. Как исправить, или чем пользоваться.chpasswd не предлагать.

2) какой ключ нужен что-бы все дополнительные данные
[console]
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
[/console]
не запрашивались на ввод.

#36358

Попробуйте useradd.

Пётр.

#36361

Peter, спс. погляжу

Другой вопрос.
для useradd -p нежен не пароль а его хэш. как сгенерировать?

#36476
Aspedin написал:
Peter, спс. погляжу
Другой вопрос.
для useradd -p нежен не пароль а его хэш. как сгенерировать?

Там же сказано - функцией crypt. Я сейчас в Fedora 10, crypt входит в glibc.
Не помню сколько лет назад, я для экспериментов вызывал её из программы,
чтобы посмотреть результат. Т.е. её надо вызывать так же, как это делает
passwd.

Пётр.

#36596
Peter написал:
Не помню сколько лет назад, я для экспериментов вызывал её из программы,
чтобы посмотреть результат.

А можно скрипт как это делать?

#36619

Нет у меня такого скрипта. Если установлен пакет glibc-doc-reference,
то в нём и в html-форме и в info libc->* Cryptographic Functions::
в описании crypt есть пример программы с её вызовом, но я в него
не вникал.

Пётр.

#36978
Aspedin написал:
для useradd -p нежен не пароль а его хэш. как сгенерировать?
text
useradd -p $(perl -e "print crypt('userpasswd','xx')") username

Или можно проще командой mkpasswd или еще проще chpasswd
А в некоторых ( не во всех ) дистрибутивах, у команды passwd есть ключик --stdin, который позволяет команде брать пароль со стандартного ввода.
:rolleyes:

#36979

inneska, мне со стандартного входа не надо. Нужен один пароль для всех пользователей, будь их хоть тыща.

#36980
Aspedin написал:
.chpasswd не предлагать.

А чем он не подходит?

Aspedin написал:
мне со стандартного входа не надо. Нужен один пароль для всех пользователей, будь их хоть тыща.

можно ведь вот так:
echo userpasswd | passwd --stdin username
:P

#36985
inneska написал:
А чем он не подходит?

Он считывает пароли из файла, где каждому логину присвоен пароль.
Пробовал # chpasswd< echo "user:12345" не прокатывает.

inneska написал:
echo userpasswd | passwd --stdin username

Вечером попробую.

#36986
Aspedin написал:
Пробовал # chpasswd< echo "user:12345" не прокатывает.

Надо было так:
echo "user:12345" | chpasswd

#36990

Туплю...вечером, опять-же, попробую)

text

useradd --gid $gn -Nm -s/bin/bash $wu && echo "$wu:123456"|chpasswd

#$wu - имя пользователя #$gn - имя группы

Всем спасибо за ответы.

Войдите или зарегистрируйтесь, чтобы ответить.