powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Аутентификация посредством /etc/passwd из скрипта
10 сообщений из 35, страница 2 из 2
Аутентификация посредством /etc/passwd из скрипта
    #34077448
Михаил0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2v6y
Изврат, конечно... Но исходя из того что PAM не завелся... За неимением гербовой бумаги пишем на клозетной :)
СПАСИБО!
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34077622
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
v6y Михаил0Есть 2 переменные $user и $pass. Я могу проверить правильный-ли это пароль для данного юзера на основании файла /etc/passwd? Вообщето нужен пример на perl, но подойдет и bash... Да вообще на чем угодно!
....

Такой изврат пойдет? Запускать надо из под root или из sudo.


нет не пойдет, потому как в shadow во всех приличных местах пароли нефига не crypt'ом зашифрованы...
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34077725
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g613
нет не пойдет, потому как в shadow во всех приличных местах пароли нефига не crypt'ом зашифрованы...
Хм... Считай, что доипался... Ну тогда, судя по всему, мы с Михаилаидлом как раз из неприличных мест :). А вообще спасибо тебе конечно, что ты еще и nsswitch сюда не приплел ;-)
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34077887
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил02v6y
Изврат, конечно... Но исходя из того что PAM не завелся... За неимением гербовой бумаги пишем на клозетной :)


Еще вариант для неприличных мест, более приличный:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
!/usr/bin/perl

sub checkpass {
 ($name,$pwcode) = getpwnam(@_[ 0 ]);
 if ($name eq @_[ 0 ]) {
  if (crypt(@_[ 1 ],$pwcode) eq $pwcode) {return  0 ;}
 }

 return - 1 ;
}

if (length(ARGV) <  3 ) {exit - 1 ;}

$user=$ARGV[ 0 ];
$pass=$ARGV[ 1 ];

if (checkpass($user,$pass)) {
 print "not Ok for $user\n";
 exit - 1 ;
}

print "Ok for $user\n";
exit  0 ;
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34078775
Михаил0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приличный, неприличный... Мне ехать надо, а не шашечки! Потребовалась функция для отдельно взятого сервера. Как оказалось, неприличного. :)

2v6y
В последнем скрипте $pwcode="x". То есть не работает.

авторпотому как в shadow во всех приличных местах пароли нефига не crypt'ом зашифрованы...
А чем? Мне просто интересно...
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34078844
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпотому как в shadow во всех приличных местах пароли нефига не crypt'ом зашифрованы...
А чем? Мне просто интересно...[/quot]

md5 / blowfish
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34078980
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g613
md5 / blowfish

crypt прекрасно работает и с des и с md5:

The glibc2 version of this function has the following additional features. If salt is a
character string starting with the three characters "$1$" followed by at most eight char-
acters, and optionally terminated by "$", then instead of using the DES machine, the
glibc crypt function uses an MD5-based algorithm, and outputs up to 34 bytes, namely
"$1$<string>$", where "<string>" stands for the up to 8 characters following "$1$" in the
salt, followed by 22 bytes chosen from the set [a-zA-Z0-9./]. The entire key is signifi-
cant here (instead of only the first 8 bytes).


2Михаил
Значит работает как C-шный getpwnam. А какая версия perl? У меня в 5.8.4 работает нормально - то есть если поле password в passwd равно 'x', то вытаскивает соответствующее поле из shadow
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34079008
Михаил0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторmd5 / blowfish
У меня как раз blowfish! И crypt замечательно работает!
авторА какая версия perl?
5.8.8 на одной машине и 5.8.7 на другой...
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34079047
Михаил0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вместо getpwnam нужно использовать getspnam!
автор/* General shadow password file API */
Только... Ее у меня нет :( ! Пишет
авторUndefined subroutine &main::getspnam
...
Рейтинг: 0 / 0
Аутентификация посредством /etc/passwd из скрипта
    #34079094
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил0Вместо getpwnam нужно использовать getspnam!
автор/* General shadow password file API */
Только... Ее у меня нет :( ! Пишет
авторUndefined subroutine &main::getspnam
Это в C-ях. В perl-е ее в самом деле нету :) См. ссылку Санька.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Аутентификация посредством /etc/passwd из скрипта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]