Отправляет email-рассылки с помощью сервиса Sendsay

Шифрование паролей

Привет всем.
Как из перл сценария закриптовать пароль так как в /etc/shadow?

Ответить   Mon, 27 Sep 2004 14:39:53 +0400 (#235347)

 

Ответы:

On Понедельник 27 Сентябрь 2004 14:39, Alesha wrote:

crypt ('password', '\$1$any-salt');

salt можно получить с помощью rand() или из /dev/urandom (не
напрямую :-)

Где-то я на это уже отвечал на прошлой неделе, только не помню
где. :-)

Ответить   "Sergey B. Khvatov" Mon, 27 Sep 2004 12:57:29 +0400 (#235356)

 

Alesha wrote:

= crypt($password,$salt)

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 11786; Возраст листа: 429; Участников: 1269
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/235361



-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.discuss
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписать: mailto:comp.soft.linux.discuss--unsub@subscribe.ru?subject=comp.soft.linux.discuss

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   andrek Mon, 27 Sep 2004 18:08:32 +0900 (#235361)

 

Забыл указать очень важную деталь..эти пароли потом должны попасть в файл
аутентификации для proftpd.То есть должны получаться точно такие же хеши как

в shadow.

Ответить   Mon, 27 Sep 2004 16:22:12 +0400 (#235403)

 

On Понедельник 27 Сентябрь 2004 16:22, Alesha wrote:

Тогда подставьте в salt криптованный пароль из shadow.
Тогда если пароли совпадают, то вы получите в точности то же, что
и в shadow (что можно получить гораздо проще :-)

Ответить   "Sergey B. Khvatov" Mon, 27 Sep 2004 14:57:50 +0400 (#235433)

 

Alesha wrote:

Если пароли в MD5, можно использовать MD5 - Perl interface to the MD5
Message-Digest Algorithm
http://www.xav.com/perl/site/lib/MD5.html

Анатолий Виргуш.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 11793; Возраст листа: 429; Участников: 1269
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/235665



-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.discuss
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписать: mailto:comp.soft.linux.discuss--unsub@subscribe.ru?subject=comp.soft.linux.discuss

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Anatoly V Virgush Mon, 27 Sep 2004 18:48:06 +0700 (#235665)

 

В Пнд, 27.09.2004, в 15:48, Anatoly V Virgush пишет:


MD5 использовать не рекомендую.

http://www.osrc.info/news.php?extend.294

--
Всех благ!
Роман.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 11796; Возраст листа: 429; Участников: 1269
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/235681



-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.discuss
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписать: mailto:comp.soft.linux.discuss--unsub@subscribe.ru?subject=comp.soft.linux.discuss

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Roman I Khimov Mon, 27 Sep 2004 21:35:13 +0400 (#235681)

 

Я понятия не имею по какому алгоритму шифруются пароли в shadow.Именно поэтому

к вам обратился.Приведите пожалуста кусок кода который зашифрует matriza
как $1$blNmun5l$dCSC.r2Wq04yQ74ODt5iv1 .Основная задача это чтоб эти пароли
понимал proftpd....помогите плииз.

Ответить   Tue, 28 Sep 2004 17:17:15 +0400 (#236021)

 

On Вторник 28 Сентябрь 2004 17:17, Alesha wrote:

[xbatob@sagittarius xbatob]$ perl -e 'print crypt ("matriza",
"\$1\$blNmun5l\$dCSC.r2Wq04yQ74ODt5iv1"), "\n"'
$1$blNmun5l$dCSC.r2Wq04yQ74ODt5iv1

Кстати, это шифрование по md5, так как salt начинается с "$1$

Ответить   "Sergey B. Khvatov" Tue, 28 Sep 2004 15:30:42 +0400 (#236024)

 

Спасибо..вроде разобрался.

Ответить   Thu, 30 Sep 2004 15:43:45 +0400 (#237062)

 

On Mon, 27 Sep 2004 14:39:53 +0400
Alesha <leham***@m*****.ru> wrote:

|Привет всем.
|Как из перл сценария закриптовать пароль так как в /etc/shadow?
|--
|<*******>
|Kill Bill....Gates....
|Registered Linux User No363652
|Алексей lehamag@мыло.ру ICQ 232261443

Вот прога NCSA AUTH которая читает с консоли логин и пароль и выдает OK или ERR
при правильном пароле, который читает из файла. Думаю тут не сложно разобраться.

/*
* ncsa_auth.c
*
* AUTHOR: Arjan de Vet <Arjan.deV***@a*****.nl>
*
* Example authentication program for Squid, based on the original
* proxy_auth code from client_side.c, written by
* Jon Thackray <jr***@u*****.com>.
*
* Uses a NCSA httpd style password file for authentication with the
* following improvements suggested by various people:
*
* - comment lines are possible and should start with a '#';
* - empty or blank lines are possible;
* - extra fields in the password file are ignored; this makes it
* possible to use a Unix password file but I do not recommend that.
*
*/

#include "config.h"
#if HAVE_STDIO_H
#include <stdio.h>
#endif
#if HAVE_STDLIB_H
#include <stdlib.h>
#endif
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#if HAVE_STRING_H
#include <string.h>
#endif
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#if HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
#if HAVE_CRYPT_H
#include <crypt.h>
#endif

#include "util.h"
#include "hash.h"

static hash_table *hash = NULL;
static HASHFREE my_free;

typedef struct _user_data {
/* first two items must be same as hash_link */
char *user;
struct _user_data *next;
char *passwd;
} user_data;

static void
my_free(void *p)
{
user_data *u = p;
xfree(u->user);
xfree(u->passwd);
xfree(u);
}

static void
read_passwd_file(const char *passwdfile)
{
FILE *f;
char buf[8192];
user_data *u;
char *user;
char *passwd;
if (hash != NULL) {
hashFreeItems(hash, my_free);
}
/* initial setup */
hash = hash_create((HASHCMP *) strcmp, 7921, hash_string);
if (NULL == hash) {
fprintf(stderr, "ncsa_auth: cannot create hash table\n");
exit(1);
}
f = fopen(passwdfile, "r");
if (NULL == f) {
fprintf(stderr, "%s: %s\n", passwdfile, xstrerror());
exit(1);
}
while (fgets(buf, 8192, f) != NULL) {
if ((buf[0] == '#') || (buf[0] == ' ') || (buf[0] == '\t') ||
(buf[0] == '\n'))
continue;
user = strtok(buf, ":\n");
passwd = strtok(NULL, ":\n");
if ((strlen(user) > 0) && passwd) {
u = xmalloc(sizeof(*u));
u->user = xstrdup(user);
u->passwd = xstrdup(passwd);
hash_join(hash, (hash_link *) u);
}
}
fclose(f);
}

int
main(int argc, char **argv)
{
struct stat sb;
time_t change_time = 0;
char buf[256];
char *user, *passwd, *p;
user_data *u;
setbuf(stdout, NULL);
if (argc != 2) {
fprintf(stderr, "Usage: ncsa_auth <passwordfile>\n");
exit(1);
}
if (stat(argv[1], &sb) != 0) {
fprintf(stderr, "cannot stat %s\n", argv[1]);
exit(1);
}
while (fgets(buf, 256, stdin) != NULL) {
if ((p = strchr(buf, '\n')) != NULL)
*p = '\0'; /* strip \n */
if (stat(argv[1], &sb) == 0) {
if (sb.st_mtime != change_time) {
read_passwd_file(argv[1]);
change_time = sb.st_mtime;
}
}
if ((user = strtok(buf, " ")) == NULL) {
printf("ERR\n");
continue;
}
if ((passwd = strtok(NULL, "")) == NULL) {
printf("ERR\n");
continue;
}
rfc1738_unescape(user);
rfc1738_unescape(passwd);
u = hash_lookup(hash, user);
if (u == NULL) {
printf("ERR\n");
} else if (strcmp(u->passwd, (char *) crypt(passwd, u->passwd))) {
printf("ERR\n");
} else {
printf("OK\n");
}
}
exit(0);
}

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 11847; Возраст листа: 433; Участников: 1276
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/237689



-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.discuss
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписать: mailto:comp.soft.linux.discuss--unsub@subscribe.ru?subject=comp.soft.linux.discuss

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   boroda Fri, 1 Oct 2004 19:45:22 +0800 (#237689)