- Массовая смена пароля linux
- Смена пароля пользователя скриптом
- Re: Смена пароля пользователя скриптом
- Re: Смена пароля пользователя скриптом
- Re: Смена пароля пользователя скриптом
- Re: Смена пароля пользователя скриптом
- Re: Смена пароля пользователя скриптом
- Меняем пароль пользователю из bash скрипта (или просто командой из шелла).
- Массовая смена пароля linux
- Автоматическая смена паролей пользователей Linux
- Срок действия паролей
- Заставляем пользователя менять пароль каждые 90 дней
Массовая смена пароля linux
Доброго всем времени! На возникший вопрос не нашел ответ, и решил создать тему. Нужно скриптом на Perl\AWK\Bash\etc массово сменить пароли юзерам. Юзеров около 100, и руками процесс занимает ой как много времени. Как массово сменить пароли, имея лишь TXT список логинов и новых паролей?
- Массовая смена паролей в Linux, Pahanivo, 11:16 , 26-Авг-09, ( 1 )
- Массовая смена паролей в Linux, Artem K, 11:29 , 26-Авг-09, ( 2 )
- Массовая смена паролей в Linux, Pahanivo, 11:33 , 26-Авг-09, ( 3 )
- Массовая смена паролей в Linux, Artem K, 11:34 , 26-Авг-09, ( 4 )
- Массовая смена паролей в Linux, Artem K, 11:48 , 26-Авг-09, ( 6 )
- Массовая смена паролей в Linux, charon, 12:00 , 26-Авг-09, ( 7 )
- Массовая смена паролей в Linux, phpcoder, 12:03 , 26-Авг-09, ( 8 )
- Массовая смена паролей в Linux, Artem K, 12:25 , 26-Авг-09, ( 9 )
- Массовая смена паролей в Linux, Pahanivo, 12:35 , 26-Авг-09, ( 10 )
- Массовая смена паролей в Linux, Artem K, 13:40 , 26-Авг-09, ( 11 )
>Доброго всем времени!
>
>На возникший вопрос не нашел ответ, и решил создать тему. Нужно скриптом
>на Perl\AWK\Bash\etc массово сменить пароли юзерам. Юзеров около 100, и руками
>процесс занимает ой как много времени. Как массово сменить пароли, имея
>лишь TXT список логинов и новых паролей?man Perl\AWK\Bash\etc
man useradd\adduser\pw — зависит от системы>man Perl\AWK\Bash\etc
>man useradd\adduser\pw — зависит от системыСистема Fedora. Маны это понятно, но есть ли уже готовые решения такой насущной проблемы?
>>man Perl\AWK\Bash\etc
>>man useradd\adduser\pw — зависит от системы
>
>Система Fedora. Маны это понятно, но есть ли уже готовые решения такой
>насущной проблемы?может стоит подыскать готового админа для такой элементарной весчи?
>может стоит подыскать готового админа для такой элементарной весчи?
Вы бы посоветовали что-то конкретное, а не показывали свои понты
>Система Fedora. Маны это понятно, но есть ли уже готовые решения такой
>насущной проблемы?cat «strongpassword»|passwd —stdin user1
Для генерации паролей можно использовать apg или какую-нибудь другую прогу.
А полный скрипт писать мне лень. Помогаю только тем, кто уже сам что-то сделал.>cat «strongpassword»|passwd —stdin user1
>
>Для генерации паролей можно использовать apg или какую-нибудь другую прогу.
>А полный скрипт писать мне лень. Помогаю только тем, кто уже сам
>что-то сделал.Или так?
#!/bin/bash
echo «user1:password1» | chpasswd
echo «user2:password2» | chpasswd
echo «user3:password3» | chpasswd
echo «user4:password4» | chpasswd
echo «user5:password5» | chpasswd
.
etc>#!/bin/bash
>echo «user1:password1» | chpasswd
>echo «user2:password2» | chpasswd
>echo «user3:password3» | chpasswd
>echo «user4:password4» | chpasswd
>echo «user5:password5» | chpasswd
>.
>etcТогда лучше так:
#!/bin/sh
while read LINE; do
echo $LINE | chpasswd
done Где passwords.txt имеет вид:user1:password1
user2:password2>[оверквотинг удален]
>#!/bin/sh
>
>while read LINE; do
> echo $LINE | chpasswd
>done >
>Где passwords.txt имеет вид:
>
>user1:password1
>user2:password2Спасибо большое за подсказку! Очень помогло, т.к. сгенерив пароли, пришлось вручную переносить пароли из одного файла в другой.
>[оверквотинг удален]
>>while read LINE; do
>> echo $LINE | chpasswd
>>done >>
>>Где passwords.txt имеет вид:
>>
>>user1:password1
>>user2:password2
>
>Спасибо большое за подсказку! Очень помогло, т.к. сгенерив пароли, пришлось вручную переноситьпесец! ты даже копипаст не освоил!
>пароли из одного файла в другой.>песец! ты даже копипаст не освоил!
>>пароли из одного файла в другой.Не переходи на личности! Спасибо подсказавшим
Смена пароля пользователя скриптом
В Linux несколько десятков пользователей (добавлены через useradd). Необходимо массово сменять пароли. Как это сделать? Пример на python подойдет лучше всего.
Re: Смена пароля пользователя скриптом
Re: Смена пароля пользователя скриптом
В многопользовательской системе такой подход не Ъ, так как обычно пользователи могу «видеть» чужые процессы, следовательно команда ps может «засветить» чужой пароль. Уж лучше создать файл и скормить его chpasswd: «chpasswd < filename", а файл потом удалить.
Re: Смена пароля пользователя скриптом
> так как обычно пользователи могут «видеть» чужые процессы
Это смотря какая система.У меня вот патчик есть от grsecurity..
Re: Смена пароля пользователя скриптом
> Необходимо массово сменять пароли. Вопрос поставлен неточно. Пароли Вы как-то задаёте, или надо автоматически сгенерить? > Как это сделать? while read LUSER PASSWD; do SALT="`pwgen -n -N 1 8`" CRYPTED=$(echo $PASSWD | mkpasswd -H md5 -S "$SALT" -s) usermod -p "$CRYPTED" $LUSER done > Пример на python подойдет лучше всего. Извините, питонам не обучен.
Re: Смена пароля пользователя скриптом
MD5HASH=$(python -c "import crypt; print crypt.crypt(. )")
Меняем пароль пользователю из bash скрипта (или просто командой из шелла).
Сейчас на КИТе нашли отличный способ сменить пароль пользователю из шелла (а значит и из скрипта). В общем, кто сталкивался с этой проблемой — поймут меня.
UPD: в комментариях указали другой способ смены пароля от рута:
root@host:~# echo «username:password» | chpasswdТакой способ тоже подходит, но не является универсальным. Например, во FreeBSD утилиты chpasswd нет.
EOUPDСменим пароль руту на megapassword (запуск от рута):
root@host:~# echo -e «megapassword\nmegapassword\n» | passwd
Сменим пароль пользователю username (запуск от рута)
root@host:~# echo -e «megapassword\nmegapassword\n» | passwd username
Для того, что бы было понятнее, покажу что в кавычках с пробелами:
«megassword \n megapassword \n», где megapassword — новый пароль, а \n — «нажатие» клавиши enter (а точнее — перенос строки)Сменим пароль пользователю username при запуске от username:
username:~$ echo -e «oldpassword\nmegapassword\nmegapassword\n» | passwd
Здесь добавляется третья строка в выводе echo, в которой нужно указать старый пароль. Чего я в общем-то вам не советую.Ну и чтобы не было вопросов о том, что происходит:
inky@laptop1:~$ echo -e «oldpassword\nmegapassword\nmegapassword\n»
oldpassword
megapassword
megapasswordТо есть мы на STDIN passwd скармливаем STDOUT echo. А echo и «жмет enter»
Массовая смена пароля linux
Доброго всем времени! На возникший вопрос не нашел ответ, и решил создать тему. Нужно скриптом на Perl\AWK\Bash\etc массово сменить пароли юзерам. Юзеров около 100, и руками процесс занимает ой как много времени. Как массово сменить пароли, имея лишь TXT список логинов и новых паролей?
- Массовая смена паролей в Linux, Pahanivo, 11:16 , 26-Авг-09, ( 1 )
- Массовая смена паролей в Linux, Artem K, 11:29 , 26-Авг-09, ( 2 )
- Массовая смена паролей в Linux, Pahanivo, 11:33 , 26-Авг-09, ( 3 )
- Массовая смена паролей в Linux, Artem K, 11:34 , 26-Авг-09, ( 4 )
- Массовая смена паролей в Linux, Artem K, 11:48 , 26-Авг-09, ( 6 )
- Массовая смена паролей в Linux, charon, 12:00 , 26-Авг-09, ( 7 )
- Массовая смена паролей в Linux, phpcoder, 12:03 , 26-Авг-09, ( 8 )
- Массовая смена паролей в Linux, Artem K, 12:25 , 26-Авг-09, ( 9 )
- Массовая смена паролей в Linux, Pahanivo, 12:35 , 26-Авг-09, ( 10 )
- Массовая смена паролей в Linux, Artem K, 13:40 , 26-Авг-09, ( 11 )
>Доброго всем времени!
>
>На возникший вопрос не нашел ответ, и решил создать тему. Нужно скриптом
>на Perl\AWK\Bash\etc массово сменить пароли юзерам. Юзеров около 100, и руками
>процесс занимает ой как много времени. Как массово сменить пароли, имея
>лишь TXT список логинов и новых паролей?man Perl\AWK\Bash\etc
man useradd\adduser\pw — зависит от системы>man Perl\AWK\Bash\etc
>man useradd\adduser\pw — зависит от системыСистема Fedora. Маны это понятно, но есть ли уже готовые решения такой насущной проблемы?
>>man Perl\AWK\Bash\etc
>>man useradd\adduser\pw — зависит от системы
>
>Система Fedora. Маны это понятно, но есть ли уже готовые решения такой
>насущной проблемы?может стоит подыскать готового админа для такой элементарной весчи?
>может стоит подыскать готового админа для такой элементарной весчи?
Вы бы посоветовали что-то конкретное, а не показывали свои понты
>Система Fedora. Маны это понятно, но есть ли уже готовые решения такой
>насущной проблемы?cat «strongpassword»|passwd —stdin user1
Для генерации паролей можно использовать apg или какую-нибудь другую прогу.
А полный скрипт писать мне лень. Помогаю только тем, кто уже сам что-то сделал.>cat «strongpassword»|passwd —stdin user1
>
>Для генерации паролей можно использовать apg или какую-нибудь другую прогу.
>А полный скрипт писать мне лень. Помогаю только тем, кто уже сам
>что-то сделал.Или так?
#!/bin/bash
echo «user1:password1» | chpasswd
echo «user2:password2» | chpasswd
echo «user3:password3» | chpasswd
echo «user4:password4» | chpasswd
echo «user5:password5» | chpasswd
.
etc>#!/bin/bash
>echo «user1:password1» | chpasswd
>echo «user2:password2» | chpasswd
>echo «user3:password3» | chpasswd
>echo «user4:password4» | chpasswd
>echo «user5:password5» | chpasswd
>.
>etcТогда лучше так:
#!/bin/sh
while read LINE; do
echo $LINE | chpasswd
done Где passwords.txt имеет вид:user1:password1
user2:password2>[оверквотинг удален]
>#!/bin/sh
>
>while read LINE; do
> echo $LINE | chpasswd
>done >
>Где passwords.txt имеет вид:
>
>user1:password1
>user2:password2Спасибо большое за подсказку! Очень помогло, т.к. сгенерив пароли, пришлось вручную переносить пароли из одного файла в другой.
>[оверквотинг удален]
>>while read LINE; do
>> echo $LINE | chpasswd
>>done >>
>>Где passwords.txt имеет вид:
>>
>>user1:password1
>>user2:password2
>
>Спасибо большое за подсказку! Очень помогло, т.к. сгенерив пароли, пришлось вручную переноситьпесец! ты даже копипаст не освоил!
>пароли из одного файла в другой.>песец! ты даже копипаст не освоил!
>>пароли из одного файла в другой.Не переходи на личности! Спасибо подсказавшим
Автоматическая смена паролей пользователей Linux
Жизнь системного администратора не проста. Поддержка систем, безопасность сетевого контура, решение проблем — уследить за всем сложно. Пользовательские пароли – важный нюанс и их, безусловно, нужно менять с определенной периодичностью.
В статье расскажем, как автоматически заставлять пользователей Linux сменить их пароли.
Срок действия паролей
Чтобы получить информацию о пользовательских паролях и о дате их окончания введите команду:
Будет выведена следующая информация:
- Когда пароль был последний раз изменен;
- Дата окончания действия пароля;
- Сколько дней осталось до окончания действия пароля;
- Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
- Минимальное количество дней между итерацией смены пароля;
- Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 дней
Следующей командой вы можете поставить жесткое правило смены паролей:
Команду можно выполнить от root пользователя или от юзера с sudo правами. Проверить, что настройка установлена корректно, можно с помощью команды chage -l
Срок действия учетной записи
Представьте, у вас есть два юзера: Иван и Петр. И доступ им нужно организовать на 2 дня, с момента сегодняшней даты (сегодня echo rus_date(«j F»);). Получается, создаем им пользователей:
sudo adduser ivan sudo adduser petr
sudo passwd ivan sudo passwd petr
Как мы уже сказали, Иван и Петр уезжают через 2 дня. Соответственно, делаем для них следующую конфигурацию:
sudo chage -E echo date("Y-m-d", strtotime("+2 days")); ivan sudo chage -E echo date("Y-m-d", strtotime("+2 days")); petr
Если вы запустите команду chage -l , то увидите актуальную дату жизни аккаунта. Как только аккаунты Ивана и Петра заэкспайрятся, их можно будет удалить командой:
sudo chage -E -1 ivan sudo chage -E -1 petr
Сколько времени на смену пароля?
Пароль Геннадия заэкспайрился (истек срок годности) в воскресение. Мы дадим Гене 5 дней, чтобы он зашел в свою учетную запись и сменил пароль. Если он этого не сделает, аккаунт будет заблокирован. Сделать это можно вот так:
Ну, а если Геннадий так и не сменит пароль и учетная запись заблокируется, удалить ее можно вот так:
Предупреждения для пользователей
Вы – адекватный человек. И наверняка хотите, чтобы ваши юзеры были уведомлены о смене пароля заранее. Например, чтобы Геннадий узнал, что через 7 дней истекает срок годности его пароля, дайте следующую команду:
Защищаемся от частой смены паролей
Вдруг в вашем штате завелся очень взволнованный безопасностью сотрудник, который меняет пароли каждый день? Такое. Чтобы сделать минимальное количество дней между сменой паролей в две недели (14 дней), можно указать следующую команду:
Сделали большой лимит и передумали? Не проблема – удалить ограничение в днях можно вот так:
- Массовая смена паролей в Linux, Pahanivo, 12:35 , 26-Авг-09, ( 10 )
- Массовая смена паролей в Linux, Artem K, 12:25 , 26-Авг-09, ( 9 )
- Массовая смена паролей в Linux, Pahanivo, 11:33 , 26-Авг-09, ( 3 )
- Массовая смена паролей в Linux, Artem K, 11:29 , 26-Авг-09, ( 2 )
- Массовая смена паролей в Linux, Pahanivo, 12:35 , 26-Авг-09, ( 10 )
- Массовая смена паролей в Linux, Artem K, 12:25 , 26-Авг-09, ( 9 )
- Массовая смена паролей в Linux, Pahanivo, 11:33 , 26-Авг-09, ( 3 )
- Массовая смена паролей в Linux, Artem K, 11:29 , 26-Авг-09, ( 2 )