<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Как проверить пароль по /etc/shadow?</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html</link>
    <description>Есть&lt;br&gt;char *login, *passwd;&lt;br&gt;, в которых забиты логин и пароль (все - нешифрованное). Как проверить правильность логина/пароля по файлу /etc/shadow?</description>

<item>
    <title>Как проверить пароль по /etc/shadow? (missKler)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#12</link>
    <pubDate>Fri, 20 Feb 2009 10:57:02 GMT</pubDate>
    <description>Как можно проверить пароль и ник?я создала себе почтовый ящик,захожу в чаты и т д пароль и ник не верные!Что посоветуете?&lt;br&gt;</description>
</item>

<item>
    <title>Как проверить пароль по /etc/shadow? (имя)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#11</link>
    <pubDate>Tue, 04 Apr 2006 11:32:35 GMT</pubDate>
    <description>&amp;gt;&amp;gt;ldap будет достаточно добавить модуль к pam. Сам же код приложение &lt;br&gt;&amp;gt;&amp;gt;не изменится. В остальном (для примеров) достаточно обратить внимание на любой &lt;br&gt;&amp;gt;&amp;gt;мало-мальски популярный сетевой продукт. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А можете посоветовать какой-нибудь продукт с минимальным, но достаточным количеством кода? - &lt;br&gt;&amp;gt;в длинных программах трудно выискивать. &lt;br&gt;&lt;br&gt;да тот же passwd,login, кажись.., вся система аутентификации unixов держится на этом&lt;br&gt;просто смотрите в исходниках где числится #include &amp;lt;pam.h&amp;gt;, или кеак там у вас.&lt;br&gt;тот фалй и розбирайте, но правильней все таки к документации</description>
</item>

<item>
    <title>Как проверить пароль по /etc/shadow? (chainik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#10</link>
    <pubDate>Tue, 04 Apr 2006 08:01:13 GMT</pubDate>
    <description>&amp;gt;ldap будет достаточно добавить модуль к pam. Сам же код приложение &lt;br&gt;&amp;gt;не изменится. В остальном (для примеров) достаточно обратить внимание на любой &lt;br&gt;&amp;gt;мало-мальски популярный сетевой продукт. &lt;br&gt;&lt;br&gt;А можете посоветовать какой-нибудь продукт с минимальным, но достаточным количеством кода? - в длинных программах трудно выискивать.&lt;br&gt;</description>
</item>

<item>
    <title>Как проверить пароль по /etc/shadow? (chip)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#9</link>
    <pubDate>Tue, 04 Apr 2006 07:54:58 GMT</pubDate>
    <description>&amp;gt;&amp;gt;а может в даном случе стоит использовать PAM?&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А чем он лучше? &lt;br&gt;&lt;br&gt;Pluggable Authentication Module Library&lt;br&gt;&lt;br&gt;Своей модульностью. Например, если в дальнейшем понадобится еще авторизовывать клиентов по mysql, ldap будет достаточно добавить модуль к pam. Сам же код приложение не изменится. В остальном (для примеров) достаточно обратить внимание на любой мало-мальски популярный сетевой продукт.</description>
</item>

<item>
    <title>Как проверить пароль по /etc/shadow? (chainik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#8</link>
    <pubDate>Mon, 03 Apr 2006 19:56:14 GMT</pubDate>
    <description>&amp;gt;а может в даном случе стоит использовать PAM?&lt;br&gt;&lt;br&gt;А чем он лучше?&lt;br&gt;&lt;br&gt;Честно говоря, я не великий специалист, поэтому пока не осознаю его преимущества. В моем случае решение принимает cgi-программа (apache, ssl-соединение) на основе файла /etc/shadow и данных, которые пользователь ввел в форму.&lt;br&gt;&lt;br&gt;Я бы и pam попробовал. Если у вас есть коротенький примерчик, с удовольствием его применю...&lt;br&gt;</description>
</item>

<item>
    <title>Как проверить пароль по /etc/shadow? (имя)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#7</link>
    <pubDate>Mon, 03 Apr 2006 19:47:16 GMT</pubDate>
    <description>&amp;gt;Видно, что-то мне на работе мешало ;) Все работает, а из дополнительных &lt;br&gt;&amp;gt;библиотек нужна только -lcrypt. По крайней мере, /etc/shadow проверяется такой вот &lt;br&gt;&amp;gt;програмкой: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;-------------8&amp;lt;---------------------------------------------------------------- &lt;br&gt;&amp;gt;// Проверялось на Slackware 10.2, где, правда, ядро и многое другое обноовлено &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;#include &amp;lt;string.h&amp;gt;&lt;br&gt;&amp;gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;&amp;gt;#include &amp;lt;shadow.h&amp;gt;&lt;br&gt;&amp;gt;#include &amp;lt;pwd.h&amp;gt;&lt;br&gt;&amp;gt;int shadow_check(char *user, char *passwd) &lt;br&gt;&amp;gt;&#123; &lt;br&gt;&amp;gt;  struct passwd *pw = getpwnam(user); &lt;br&gt;&amp;gt;  if (pw == NULL &amp;#124;&amp;#124; pw-&amp;gt;pw_passwd == &apos;&#092;0&apos;) &#123;&lt;br&gt;&amp;gt;    return (0); &lt;br&gt;&amp;gt;  &#125; &lt;br&gt;&amp;gt;  struct spwd *spwd; &lt;br&gt;&amp;gt;  spwd = getspnam(user); &lt;br&gt;&amp;gt;    char *epasswd = (char*)crypt(passwd, spwd-&amp;gt;sp_pwdp);&lt;br&gt;&amp;gt;  if (strcmp(epasswd, spwd-&amp;gt;sp_pwdp) != 0) &#123;&lt;br&gt;&amp;gt;    return (0); &lt;br&gt;&amp;gt;  &#125; &lt;br&gt;&amp;gt;  return (-1); &lt;br&gt;&amp;gt;&#125; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;int main(int argc, char **argv) &lt;br&gt;&amp;gt;&#123; &lt;br&gt;&amp;gt;  printf(&quot;&#037;d&#092;n&quot;, shadow_check(&quot;snm&quot;, &quot;mnyammhrumm&quot;)); &lt;br&gt;&amp;gt;  return 0; &lt;br&gt;&amp;gt;&#125; &lt;br&gt;&amp;gt;-------------8&amp;lt;---------------------------------------------------------------- &lt;br&gt;&amp;gt;Спасибо</description>
</item>

<item>
    <title>Как проверить пароль по /etc/shadow? (chainik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#6</link>
    <pubDate>Mon, 03 Apr 2006 19:39:15 GMT</pubDate>
    <description>Видно, что-то мне на работе мешало ;) Все работает, а из дополнительных библиотек нужна только -lcrypt. По крайней мере, /etc/shadow проверяется такой вот програмкой:&lt;br&gt;&lt;br&gt;-------------8&amp;lt;----------------------------------------------------------------&lt;br&gt;// Проверялось на Slackware 10.2, где, правда, ядро и многое другое обноовлено&lt;br&gt;#include &amp;lt;string.h&amp;gt;&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;#include &amp;lt;shadow.h&amp;gt;&lt;br&gt;#include &amp;lt;pwd.h&amp;gt;&lt;br&gt;int shadow_check(char *user, char *passwd)&lt;br&gt;&#123;&lt;br&gt;  struct passwd *pw = getpwnam(user);&lt;br&gt;  if (pw == NULL &amp;#124;&amp;#124; pw-&amp;gt;pw_passwd == &apos;&#092;0&apos;) &#123;&lt;br&gt;    return (0);&lt;br&gt;  &#125;&lt;br&gt;  struct spwd *spwd;&lt;br&gt;  spwd = getspnam(user);&lt;br&gt;    char *epasswd = (char*)crypt(passwd, spwd-&amp;gt;sp_pwdp);&lt;br&gt;  if (strcmp(epasswd, spwd-&amp;gt;sp_pwdp) != 0) &#123;&lt;br&gt;    return (0);&lt;br&gt;  &#125;&lt;br&gt;  return (-1);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;int main(int argc, char **argv)&lt;br&gt;&#123;&lt;br&gt;  printf(&quot;&#037;d&#092;n&quot;, shadow_check(&quot;snm&quot;, &quot;mnyammhrumm&quot;));&lt;br&gt;  return 0;&lt;br&gt;&#125;&lt;br&gt;-------------8&amp;lt;----------------------------------------------------------------&lt;br&gt;Спасибо за помощь.</description>
</item>

<item>
    <title>Как проверить пароль по /etc/shadow? (chainik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#5</link>
    <pubDate>Mon, 03 Apr 2006 17:49:54 GMT</pubDate>
    <description>&amp;gt;&amp;gt;main.o(.text+0x59): In function &#096;main&apos;: &lt;br&gt;&amp;gt;&amp;gt;: undefined reference to &#096;getspnam(char const*)&apos; &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Где эта getspnam? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;У меня она в glibc (то есть никаких дополнительных ключей не требуется), &lt;br&gt;&amp;gt;а где у вас - не знаю. Что за система-то хоть? &lt;br&gt;&lt;br&gt;Да Slackware 10.2 обычная, ну и glibc вроде стоит последняя...&lt;br&gt;&lt;br&gt;Я ее еще поищу. Чем можно посмотреть, какие функции в библиотеке наличисвуют?</description>
</item>

<item>
    <title>Как проверить пароль по /etc/shadow? (jd)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/5309.html#4</link>
    <pubDate>Mon, 03 Apr 2006 17:30:25 GMT</pubDate>
    <description>&amp;gt;main.o(.text+0x59): In function &#096;main&apos;: &lt;br&gt;&amp;gt;: undefined reference to &#096;getspnam(char const*)&apos; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Где эта getspnam? &lt;br&gt;&lt;br&gt;У меня она в glibc (то есть никаких дополнительных ключей не требуется), а где у вас - не знаю. Что за система-то хоть?&lt;br&gt;&lt;br&gt;В мане нет упоминаний о каких-либо стандартах, так что возможно она есть не во всех системах. Но в Linux и SunOS вроде есть. В SunOS, насколько я понял, тоже в libc.</description>
</item>

</channel>
</rss>
