<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>15691</bug_id>
          
          <creation_ts>2008-05-16 23:29:28 +0400</creation_ts>
          <short_desc>htpasswd by default generates passwords rejected by apache</short_desc>
          <delta_ts>2011-03-12 15:56:11 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>apache</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ivan Adzhubey">iadzhubey</reporter>
          <assigned_to name="solo">solo</assigned_to>
          <cc>at</cc>
    
    <cc>cas</cc>
    
    <cc>crux</cc>
    
    <cc>ender</cc>
    
    <cc>erthad</cc>
    
    <cc>kharpost</cc>
    
    <cc>lakostis</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>mithraen</cc>
    
    <cc>qa_viy</cc>
    
    <cc>rider</cc>
    
    <cc>shaba</cc>
    
    <cc>solo</cc>
    
    <cc>viy</cc>
    
    <cc>vvk</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>70137</commentid>
    <comment_count>0</comment_count>
    <who name="Ivan Adzhubey">iadzhubey</who>
    <bug_when>2008-05-16 23:29:28 +0400</bug_when>
    <thetext>После сегодняшнего обновления разладилась любовь между htpasswd и apache: первый
 по умолчанию генерирует пароли зашифрованные системным вызовом crypt() (если
верить ману), а apache их принимать отказывается. Пароли, сгенерированные
htpasswd с опцией -m работают.

Имеется в виду вот этот апач:
apache-1.3.41rusPL30.23-alt4

Steps to Reproduce:
1.# htpasswd /usr/local/lib/passwdfile newuser
2.Enter new password, re-enter.
3.Go to password-protected page, enter correct password, login denied.
Actual Results:  
No login to password-protected pages (Basic authentication)

Expected Results:  
Page loads</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70665</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2008-05-27 18:04:17 +0400</bug_when>
    <thetext>Иван, я уже вернулся из поездки, но всё так же не знаю, что с этим делать.

2 ldv: нет идей?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70667</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-05-27 18:07:58 +0400</bug_when>
    <thetext>(In reply to comment #1)
&gt; Иван, я уже вернулся из поездки, но всё так же не знаю, что с этим делать.
&gt; 
&gt; 2 ldv: нет идей?

Я не знаю, как ты этого добился, да и к самому htpasswd уже давно утратил интерес.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75592</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2008-08-17 19:34:14 +0400</bug_when>
    <thetext>Лёш, посмотришь при возможности?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75601</commentid>
    <comment_count>4</comment_count>
    <who name="Ivan Adzhubey">iadzhubey</who>
    <bug_when>2008-08-17 22:55:55 +0400</bug_when>
    <thetext>(In reply to comment #3)
&gt; Лёш, посмотришь при возможности?
&gt; 

(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; Иван, я уже вернулся из поездки, но всё так же не знаю, что с этим делать.
&gt; &gt; 
&gt; &gt; 2 ldv: нет идей?
&gt; 
&gt; Я не знаю, как ты этого добился, да и к самому htpasswd уже давно утратил интерес.

А что вместо него?

Вчера проблема воспроизвелась на новом компьютере со свежеустановленным apache2-2.2.9-alt8.1, причем система - x86_64, в отличие от x86_32 на первом. Так что на local misconfiguration не похоже. Пароли, сгенерированные методом по умолчанию, не распознаются. Если добавить ключик -m - распознаются.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75606</commentid>
    <comment_count>5</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-18 01:39:21 +0400</bug_when>
    <thetext>(In reply to comment #3)
&gt; Лёш, посмотришь при возможности?

  OK, проверю.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75748</commentid>
    <comment_count>6</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-19 19:28:45 +0400</bug_when>
    <thetext>  Проверил на apache2-2.2.9-alt9. Результат странный:

1. Задействовать Require user неудалось вообще -- Error 500 на выходе и ругань в /var/log/httpd2/error_log:

[crit] [client 192.168.1.101] configuration error:  couldn&apos;t check access.  No groups file?: /

  Эффект наблюдается независимо от того, определён ли AuthGroupFile, существует и/или корректен ли он...

2. Require group работает правельно, независимо от того какой алгоритм использовался при задании пароля (проверял htpasswd2 {,-{d,m}})...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75754</commentid>
    <comment_count>7</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-19 20:02:05 +0400</bug_when>
    <thetext>С apache-1.3.41rusPL30.23-alt4.5 вообще весело:

[Tue Aug 19 20:07:10 2008] [error] [client 192.168.1.101] (13)Permission denied: Could not open password file: /etc/httpd/conf/passwd/passwd
[Tue Aug 19 20:07:10 2008] [error] [client 192.168.1.101] user test3 not found: /

Хотя:

$ sudo -H ls -lA /etc/httpd/conf/passwd/
total 8
-rw-r----- 1 root apache 44 Aug 19 20:06 passwd
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75756</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2008-08-19 20:15:07 +0400</bug_when>
    <thetext>У меня-то работает.

Сделай su - apache -s /bin/bash и попробуй зайти в тот каталог?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75762</commentid>
    <comment_count>9</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-19 22:55:33 +0400</bug_when>
    <thetext>(In reply to comment #8)
&gt; У меня-то работает.
&gt; 
&gt; Сделай su - apache -s /bin/bash и попробуй зайти в тот каталог?
 
  Ларчик просто открывался:

$ ls -lA /etc/httpd
/etc/httpd:
итого 0
drwxr-x--- 8 root webmaster 424 Авг 19 20:02 conf

  apache -- в группу webmaster не входит...

  Думаю, что для каталогаов /etc/httpd{,2}/conf (и ниже) стоит поставить 2775 root:webmaster (для файлов -- 664 root:webmaster). (Исключение -- ssl ключи и сертификаты.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75763</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2008-08-19 23:06:50 +0400</bug_when>
    <thetext>(In reply to comment #9)
&gt;   Думаю, что для каталогаов /etc/httpd{,2}/conf (и ниже) стоит поставить 2775 root:webmaster
&gt; (для файлов -- 664 root:webmaster). (Исключение -- ssl ключи и сертификаты.)
Зачем?

Всё, что нужно из конфигурации -- читается рутовым апачем.

А .htaccess/.htpasswd туда отродясь не клали.

Их клали в виртхосты (.htpasswd -- не в html/ или htdocs/, разумеется).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75766</commentid>
    <comment_count>11</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-19 23:17:42 +0400</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; У меня-то работает.
&gt; &gt; 
&gt; &gt; Сделай su - apache -s /bin/bash и попробуй зайти в тот каталог?
&gt; 
&gt;   Ларчик просто открывался:
&gt; 
&gt; $ ls -lA /etc/httpd
&gt; /etc/httpd:
&gt; итого 0
&gt; drwxr-x--- 8 root webmaster 424 Авг 19 20:02 conf
&gt; 
&gt;   apache -- в группу webmaster не входит...
&gt; 

  После правки прав всё работает (проверял htpasswd {,-{d,m}}).
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75768</commentid>
    <comment_count>12</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-19 23:22:59 +0400</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt;   Думаю, что для каталогаов /etc/httpd{,2}/conf (и ниже) стоит поставить 2775 root:webmaster
&gt; &gt; (для файлов -- 664 root:webmaster). (Исключение -- ssl ключи и сертификаты.)
&gt; Зачем?
&gt; 
&gt; Всё, что нужно из конфигурации -- читается рутовым апачем.
&gt; 
&gt; А .htaccess/.htpasswd туда отродясь не клали.

  А я там обычно глобальные для сервера файлы паролей складывал...
&gt; 
&gt; Их клали в виртхосты (.htpasswd -- не в html/ или htdocs/, разумеется).

  Давай тогда зафиксируем правельное для них место с учётом того, что для apache и apache2 файлы поролей возможно не совместимы (это сейчас проверю).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75776</commentid>
    <comment_count>13</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-19 23:55:01 +0400</bug_when>
    <thetext>На данный момент:

1. apache-1.3.41rusPL30.23-alt4.5 понимает пароли сгенирированные htpasswd{,2} {,-{d,m}}, но непонимает пароли сгенерированные с опцией -s (htpasswd или htpasswd2 -- не важно).

2. apache2-2.2.9-alt9 понимает всё, сгенерированное htpasswd2 {,-{d,m,s}} и htpasswd2 {,-{d,m}} (непонимает опцию -s у htpasswd)...

PS: Похоже надо сгенирировать SHA пароль сторонними средствами и проверить...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75802</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2008-08-20 02:20:54 +0400</bug_when>
    <thetext>(In reply to comment #12)
&gt; Давай тогда зафиксируем правельное для них место с учётом того, что для apache
&gt; и apache2 файлы поролей возможно не совместимы (это сейчас проверю).
Давай спросим в sysadmins@ (и если удобно -- глянь в дебиане)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75825</commentid>
    <comment_count>15</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-20 10:31:13 +0400</bug_when>
    <thetext>(In reply to comment #13)
&gt; 
&gt; PS: Похоже надо сгенирировать SHA пароль сторонними средствами и проверить...
&gt; 

1. Генерация:

$ /usr/sbin/slappasswd -s test -h {SHA}
{SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=

2. Добавил в файл парорлей:

test7:{SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=

Работает в apache2-2.2.9-alt9, но не работает в apache-1.3.41rusPL30.23-alt4.5

Похоже у apache-1.3.41rusPL30.23-alt4.5 с SHA паролями всё плохо... Это его нормальное состояние?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75836</commentid>
    <comment_count>16</comment_count>
    <who name="Ivan Adzhubey">iadzhubey</who>
    <bug_when>2008-08-20 11:20:50 +0400</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #13)
&gt; &gt; 
&gt; &gt; PS: Похоже надо сгенирировать SHA пароль сторонними средствами и проверить...
&gt; &gt; 
&gt; 
&gt; 1. Генерация:
&gt; 
&gt; $ /usr/sbin/slappasswd -s test -h {SHA}
&gt; {SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=
&gt; 
&gt; 2. Добавил в файл парорлей:
&gt; 
&gt; test7:{SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=
&gt; 
&gt; Работает в apache2-2.2.9-alt9, но не работает в apache-1.3.41rusPL30.23-alt4.5
&gt; 
&gt; Похоже у apache-1.3.41rusPL30.23-alt4.5 с SHA паролями всё плохо... Это его нормальное
&gt; состояние?

Народ, вы отвлеклись, а мой багрепорт кто-нибудь проверит? Напоминаю:

# htpasswd{2} /var/lib/гдетотам ктототам

генерирует пароли, которые не принимает соотв., apache/apache2. Тогда как;

# htpasswd{2} -d /var/lib/гдетотам ктототам

генерирует пароли, которые работают. Хотя в мане написано, что ключик -d (криптованые пароли) - это умолчательное поведение в Linux.

Про SHA пароли я даже и не заикался.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75842</commentid>
    <comment_count>17</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-20 11:48:21 +0400</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; (In reply to comment #13)
&gt; &gt; &gt; 
&gt; &gt; &gt; PS: Похоже надо сгенирировать SHA пароль сторонними средствами и проверить...
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; 1. Генерация:
&gt; &gt; 
&gt; &gt; $ /usr/sbin/slappasswd -s test -h {SHA}
&gt; &gt; {SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=
&gt; &gt; 
&gt; &gt; 2. Добавил в файл парорлей:
&gt; &gt; 
&gt; &gt; test7:{SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M=
&gt; &gt; 
&gt; &gt; Работает в apache2-2.2.9-alt9, но не работает в apache-1.3.41rusPL30.23-alt4.5
&gt; &gt; 
&gt; &gt; Похоже у apache-1.3.41rusPL30.23-alt4.5 с SHA паролями всё плохо... Это его нормальное
&gt; &gt; состояние?
&gt; 
&gt; Народ, вы отвлеклись, а мой багрепорт кто-нибудь проверит? Напоминаю:
&gt; 
&gt; # htpasswd{2} /var/lib/гдетотам ктототам
&gt; 
&gt; генерирует пароли, которые не принимает соотв., apache/apache2. Тогда как;
&gt; 
&gt; # htpasswd{2} -d /var/lib/гдетотам ктототам
&gt; 
&gt; генерирует пароли, которые работают. Хотя в мане написано, что ключик -d
&gt; (криптованые пароли) - это умолчательное поведение в Linux.

  Повторить не удаётся (см. comment #6 и #11): пароли сгенерированные htpasswd{,2} {,-d} работают одинаково. (При проверке выплыло другое.)

&gt; 
&gt; Про SHA пароли я даже и не заикался.
 
  Оно выплыло при проверке взаимозаменяемости htpasswd{,2}: смотрел можно ли иметь один парольный файл для обоих apache`й (comment #12 и #13)...
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75846</commentid>
    <comment_count>18</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-20 12:54:32 +0400</bug_when>
    <thetext>(In reply to comment #13)
&gt; На данный момент:
&gt; 
&gt; 1. apache-1.3.41rusPL30.23-alt4.5 понимает пароли сгенирированные htpasswd{,2} {,-{d,m}}, но
&gt; непонимает пароли сгенерированные с опцией -s (htpasswd или htpasswd2 -- не важно).
&gt; 
&gt; 2. apache2-2.2.9-alt9 понимает всё, сгенерированное htpasswd2 {,-{d,m,s}} и htpasswd2 {,-{d,m}}
&gt; (непонимает опцию -s у htpasswd)...

  Проверил версии из бранча 4.1:

1. apache-1.3.41rusPL30.23-alt4 непонимает SHA пароли. Строки сгенирированные 
htpasswd {,-{d,m}} -- принимаются без вопросов (данную багу не обнаружил).

2. apache2-2.2.8-alt1 -- нормально ест строки сгенирированные htpasswd2 {,-{d,m,s}} (данную багу не обнаружил) но имеет проблемы с Require user (см. comment #6).

PS: Все мои проверки касались сборок под x86_64, i586 -- не проверял.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75851</commentid>
    <comment_count>19</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-20 13:25:46 +0400</bug_when>
    <thetext>По мотивам раскопок данного бага открыл https://bugzilla.altlinux.org/show_bug.cgi?id=16779 и https://bugzilla.altlinux.org/show_bug.cgi?id=16778</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75852</commentid>
    <comment_count>20</comment_count>
    <who name="solo">solo</who>
    <bug_when>2008-08-20 13:27:37 +0400</bug_when>
    <thetext>(In reply to comment #19)
&gt; По мотивам раскопок данного бага открыл https://bugzilla.altlinux.org/show_bug.cgi?id=16779

  Ошибся. Открыл https://bugzilla.altlinux.org/show_bug.cgi?id=16777, а не #16779

&gt; и https://bugzilla.altlinux.org/show_bug.cgi?id=16778
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95429</commentid>
    <comment_count>21</comment_count>
    <who name="Dmitry A. Kharitonov">kharpost</who>
    <bug_when>2009-07-29 13:30:17 +0400</bug_when>
    <thetext>Кто подскажет: как в апаче поставить пароль на директорию?

нужно запаролить /var/www/html/lightsquid/admin.
1 создаю /var/www/html/lightsquid/admin/.htaccess
AuthName &quot;lightsquid administrator mode&quot;
AuthType Basic
AuthUserFile /var/www/html/lightsquid/admin/.htpasswd
require user admin

2 создаю /var/www/html/lightsquid/admin/.htpasswd
htpasswd -bcm /var/www/html/lightsquid/admin/.htpasswd admin admin

3 пробую зайти ввожу пароль и получаю ошибку 500
смотрю логи http:
[Tue Jul 28 15:43:00 2009] [error] (25)Inappropriate ioctl for device: access to /lightsquid/admin/user_detail.cgi failed for 192.168.2.1, reason: Authentication service cannot retrieve authentication info
Yury L.Olkov wrote:
&gt; Привет.
&gt;
&gt; Права на файлы .ht* проверь для начала
[user@SERVER 20:40:34 ~]$ ls -la /var/www/html/lightsquid/admin/.h*
-rw-r--r-- 1 lightsquid lightsquid 108 Июл 28 17:13 /var/www/html/lightsquid/admin/.htaccess
-rw-r--r-- 1 lightsquid lightsquid 108 Июл 28 17:12 /var/www/html/lightsquid/admin/.htaccess~
-rw-r--r-- 1 lightsquid lightsquid  20 Июл 28 14:00 /var/www/html/lightsquid/admin/.htpasswd
[user@SERVER 20:42:23 ~]$ id lightsquid
uid=123(lightsquid) gid=58(lightsquid) группы=58(lightsquid),23(squid)
сделал
chmod -R 777 /var/www/html/lightsquid/admin -- не помогает
Сделал
htpasswd -bcm /var/www/html/lightsquid/admin/.htpasswd admin admin -- не помогает
[user@SERVER 20:54:11 ~]$ rpm -qa | egrep &quot;apache|auth&quot;
apache2-2.2.4-alt24
apache2-mod_ssl-2.2.4-alt24
mod_auth_pam-1.1.1-alt1
apache2-common-2.2.4-alt24
apache-1.3.41rusPL30.23-alt1
apache-common-1.3.41rusPL30.23-alt1
apache2-httpd-prefork-2.2.4-alt24</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119203</commentid>
    <comment_count>22</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2011-03-12 15:56:11 +0300</bug_when>
    <thetext>Похоже, &quot;не шмогли&quot;.

Предлагаю использовать htpasswd -m.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>