The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"IMAP+LDAP"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"IMAP+LDAP"  
Сообщение от Leonid_mak email(ok) on 26-Июн-06, 22:37 
ЛЮДИ ПАМАГИТЕ ,у меня стоит openldap- 2.3.14 , courier-imap 4.1.0, courier-authlib 0.58
проблема в том , что при попытке почтового клиента подключится к imap серверу после подключения соединение сразу рубится, в логах :
authdaemond: authldaplib: refuse to authenticate user gid=0 uid=0 (zero gid or uid not permitted)

судя по логам LDAP не передает gidNumber и uidNumber

кто сталкивался , ато я уже не знаю куда рыть, а делать надо!

заранее благодарен!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

  • IMAP+LDAP, bass, 07:29 , 27-Июн-06, (1)  
    • IMAP+LDAP, Leonid_mak, 08:56 , 27-Июн-06, (2)  
      • IMAP+LDAP, bass, 10:54 , 27-Июн-06, (3)  
        • IMAP+LDAP, Leonid_mak, 21:58 , 27-Июн-06, (4)  
          • IMAP+LDAP, bass, 06:31 , 28-Июн-06, (5)  
            • IMAP+LDAP, Leonid_mak, 12:49 , 28-Июн-06, (6)  
              • IMAP+LDAP, Anatoliy, 21:10 , 28-Июн-06, (7)  
                • IMAP+LDAP, Leonid_mak, 10:12 , 29-Июн-06, (8)  
                  • IMAP+LDAP, Silent, 10:56 , 29-Июн-06, (9)  
                    • IMAP+LDAP, Leonid_mak, 00:51 , 30-Июн-06, (10)  
                      • IMAP+LDAP, Leonid_mak, 23:44 , 13-Июл-06, (11)  
                        • IMAP+LDAP, Silent, 11:24 , 14-Июл-06, (12)  
                        • IMAP+LDAP, Leonid_mak, 11:03 , 15-Июл-06, (13)  

Сообщения по теме [Сортировка по времени, UBB]


1. "IMAP+LDAP"  
Сообщение от bass (??) on 27-Июн-06, 07:29 
>ЛЮДИ ПАМАГИТЕ ,у меня стоит openldap- 2.3.14 , courier-imap 4.1.0, courier-authlib 0.58
>
>проблема в том , что при попытке почтового клиента подключится к imap
>серверу после подключения соединение сразу рубится, в логах :
>authdaemond: authldaplib: refuse to authenticate user gid=0 uid=0 (zero gid or uid
>not permitted)
>
>судя по логам LDAP не передает gidNumber и uidNumber
>
>кто сталкивался , ато я уже не знаю куда рыть, а делать
>надо!
>
>заранее благодарен!


интересно, какому почтовому клиенту понадобился gid? может всё таки проблема связки курьера с лдапом? как организованна аутентификация?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "IMAP+LDAP"  
Сообщение от Leonid_mak email(??) on 27-Июн-06, 08:56 
>>ЛЮДИ ПАМАГИТЕ ,у меня стоит openldap- 2.3.14 , courier-imap 4.1.0, courier-authlib 0.58
>>
>>проблема в том , что при попытке почтового клиента подключится к imap
>>серверу после подключения соединение сразу рубится, в логах :
>>authdaemond: authldaplib: refuse to authenticate user gid=0 uid=0 (zero gid or uid
>>not permitted)
>>
>>судя по логам LDAP не передает gidNumber и uidNumber
>>
>>кто сталкивался , ато я уже не знаю куда рыть, а делать
>>надо!
>>
>>заранее благодарен!
>
>
>интересно, какому почтовому клиенту понадобился gid? может всё таки проблема связки курьера
>с лдапом? как организованна аутентификация?


Ааутентификация происходит посредством модуля authldap из библиотек courier-authlib ,
конфиг authldaprc:

LDAP_SERVER     ldap
LDAP_PORT       389
LDAP_PROTOCOL_VERSION   3
LDAP_BASEDN      ou=TEST,o=COMP,c=SU
LDAP_BINDDN     cn=Manager,ou=TEST,o=COMP,c=SU
LDAP_BINDPW     xxx
LDAP_TIMEOUT        5
LDAP_MAIL       uid
LDAP_HOMEDIR        homeDirectory
LDAP_DEFAULTDELIVERY    defaultDelivery
LDAP_FULLNAME       cn


LDAP_CLEARPW        clearPassword
LDAP_CRYPTPW        userPassword

LDAP_UID      uidNumber
LDAP_GID      gidNumber

LDAP_DEREF      never

причем пароль , имячко , и домашний каталог, LDAP передает правильно!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "IMAP+LDAP"  
Сообщение от bass (??) on 27-Июн-06, 10:54 
>>>ЛЮДИ ПАМАГИТЕ ,у меня стоит openldap- 2.3.14 , courier-imap 4.1.0, courier-authlib 0.58
>>>
>>>проблема в том , что при попытке почтового клиента подключится к imap
>>>серверу после подключения соединение сразу рубится, в логах :
>>>authdaemond: authldaplib: refuse to authenticate user gid=0 uid=0 (zero gid or uid
>>>not permitted)
>>>
>>>судя по логам LDAP не передает gidNumber и uidNumber
>>>
>>>кто сталкивался , ато я уже не знаю куда рыть, а делать
>>>надо!
>>>
>>>заранее благодарен!
>>
>>
>>интересно, какому почтовому клиенту понадобился gid? может всё таки проблема связки курьера
>>с лдапом? как организованна аутентификация?
>
>
>Ааутентификация происходит посредством модуля authldap из библиотек courier-authlib ,
>конфиг authldaprc:
>
>LDAP_SERVER     ldap
>LDAP_PORT       389
>LDAP_PROTOCOL_VERSION   3
>LDAP_BASEDN      ou=TEST,o=COMP,c=SU
>LDAP_BINDDN     cn=Manager,ou=TEST,o=COMP,c=SU
>LDAP_BINDPW     xxx
>LDAP_TIMEOUT        5
>LDAP_MAIL       uid
>LDAP_HOMEDIR        homeDirectory
>LDAP_DEFAULTDELIVERY    defaultDelivery
>LDAP_FULLNAME       cn
>
>
>LDAP_CLEARPW        clearPassword
>LDAP_CRYPTPW        userPassword
>
>LDAP_UID      uidNumber
>LDAP_GID      gidNumber

у вас что так и стоит? хехе..
ответ в прочтении документации на тему этих 2-х параметров

>LDAP_DEREF      never
>
>причем пароль , имячко , и домашний каталог, LDAP передает правильно!


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "IMAP+LDAP"  
Сообщение от Leonid_mak email(??) on 27-Июн-06, 21:58 
>>>>ЛЮДИ ПАМАГИТЕ ,у меня стоит openldap- 2.3.14 , courier-imap 4.1.0, courier-authlib 0.58
>>>>
>>>>проблема в том , что при попытке почтового клиента подключится к imap
>>>>серверу после подключения соединение сразу рубится, в логах :
>>>>authdaemond: authldaplib: refuse to authenticate user gid=0 uid=0 (zero gid or uid
>>>>not permitted)
>>>>
>>>>судя по логам LDAP не передает gidNumber и uidNumber
>>>>
>>>>кто сталкивался , ато я уже не знаю куда рыть, а делать
>>>>надо!
>>>>
>>>>заранее благодарен!
>>>
>>>
>>>интересно, какому почтовому клиенту понадобился gid? может всё таки проблема связки курьера
>>>с лдапом? как организованна аутентификация?
>>
>>
>>Ааутентификация происходит посредством модуля authldap из библиотек courier-authlib ,
>>конфиг authldaprc:
>>
>>LDAP_SERVER     ldap
>>LDAP_PORT       389
>>LDAP_PROTOCOL_VERSION   3
>>LDAP_BASEDN      ou=TEST,o=COMP,c=SU
>>LDAP_BINDDN     cn=Manager,ou=TEST,o=COMP,c=SU
>>LDAP_BINDPW     xxx
>>LDAP_TIMEOUT        5
>>LDAP_MAIL       uid
>>LDAP_HOMEDIR        homeDirectory
>>LDAP_DEFAULTDELIVERY    defaultDelivery
>>LDAP_FULLNAME       cn
>>
>>
>>LDAP_CLEARPW        clearPassword
>>LDAP_CRYPTPW        userPassword
>>
>>LDAP_UID      uidNumber
>>LDAP_GID      gidNumber
>
>у вас что так и стоит? хехе..
>ответ в прочтении документации на тему этих 2-х параметров
>
>>LDAP_DEREF      never
>>
>>причем пароль , имячко , и домашний каталог, LDAP передает правильно!


# Uncomment the following, and modify as appropriate, if your LDAP database
# stores individual userids and groupids.  Otherwise, you must uncomment
# LDAP_GLOB_UID and LDAP_GLOB_GID above.  LDAP_GLOB_UID and LDAP_GLOB_GID
# specify a uid/gid for everyone.  Otherwise, LDAP_UID and LDAP_GID must
# be defined as attributes for everyone.

может я что-то не понимаю, но у меня в Ldap базе для каждого юзверя хранятся gid и uid...
более того в другом офисе у нас все стоит именно так и все прекрасно работает :(((

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "IMAP+LDAP"  
Сообщение от bass (??) on 28-Июн-06, 06:31 
>>>>>ЛЮДИ ПАМАГИТЕ ,у меня стоит openldap- 2.3.14 , courier-imap 4.1.0, courier-authlib 0.58
>>>>>
>>>>>проблема в том , что при попытке почтового клиента подключится к imap
>>>>>серверу после подключения соединение сразу рубится, в логах :
>>>>>authdaemond: authldaplib: refuse to authenticate user gid=0 uid=0 (zero gid or uid
>>>>>not permitted)
>>>>>
>>>>>судя по логам LDAP не передает gidNumber и uidNumber
>>>>>
>>>>>кто сталкивался , ато я уже не знаю куда рыть, а делать
>>>>>надо!
>>>>>
>>>>>заранее благодарен!
>>>>
>>>>
>>>>интересно, какому почтовому клиенту понадобился gid? может всё таки проблема связки курьера
>>>>с лдапом? как организованна аутентификация?
>>>
>>>
>>>Ааутентификация происходит посредством модуля authldap из библиотек courier-authlib ,
>>>конфиг authldaprc:
>>>
>>>LDAP_SERVER     ldap
>>>LDAP_PORT       389
>>>LDAP_PROTOCOL_VERSION   3
>>>LDAP_BASEDN      ou=TEST,o=COMP,c=SU
>>>LDAP_BINDDN     cn=Manager,ou=TEST,o=COMP,c=SU
>>>LDAP_BINDPW     xxx
>>>LDAP_TIMEOUT        5
>>>LDAP_MAIL       uid
>>>LDAP_HOMEDIR        homeDirectory
>>>LDAP_DEFAULTDELIVERY    defaultDelivery
>>>LDAP_FULLNAME       cn
>>>
>>>
>>>LDAP_CLEARPW        clearPassword
>>>LDAP_CRYPTPW        userPassword
>>>
>>>LDAP_UID      uidNumber
>>>LDAP_GID      gidNumber
>>
>>у вас что так и стоит? хехе..
>>ответ в прочтении документации на тему этих 2-х параметров
>>
>>>LDAP_DEREF      never
>>>
>>>причем пароль , имячко , и домашний каталог, LDAP передает правильно!
>
>
># Uncomment the following, and modify as appropriate, if your LDAP database
>
># stores individual userids and groupids.  Otherwise, you must uncomment
># LDAP_GLOB_UID and LDAP_GLOB_GID above.  LDAP_GLOB_UID and LDAP_GLOB_GID
># specify a uid/gid for everyone.  Otherwise, LDAP_UID and LDAP_GID must
>
># be defined as attributes for everyone.
>
>может я что-то не понимаю, но у меня в Ldap базе для
>каждого юзверя хранятся gid и uid...
>более того в другом офисе у нас все стоит именно так и
>все прекрасно работает :(((

ну давайте разбираться вместе. судя по конфигу, у вас каждый пользователь имеет помимо
uid-а используемого для аутентификации ещё и uidNumber и gidNumber используемый курьером для проставления прав в индивидуальных хранилищах imap. Это на самом деле так?
Или всё таки imap хранилище имеет uidNumber и gidNumber юзера, под которым работает курьер? Тогда имеет смысл выставить DAP_GLOB_UID and LDAP_GLOB_GID с uidNumber и gidNumber курьерного юзера.
Или я вообще неверно интерпритирую значение этих параметров?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "IMAP+LDAP"  
Сообщение от Leonid_mak email(??) on 28-Июн-06, 12:49 

>ну давайте разбираться вместе. судя по конфигу, у вас каждый пользователь имеет
>помимо
>uid-а используемого для аутентификации ещё и uidNumber и gidNumber используемый курьером для
>проставления прав в индивидуальных хранилищах imap. Это на самом деле так?
>
>Или всё таки imap хранилище имеет uidNumber и gidNumber юзера, под которым
>работает курьер? Тогда имеет смысл выставить DAP_GLOB_UID and LDAP_GLOB_GID с uidNumber
>и gidNumber курьерного юзера.
>Или я вообще неверно интерпритирую значение этих параметров?


да в Ldapе хранится uid в виде имечка , и отдельно uidNumber и gidNumber, почта хранится в домашнем каталоге каждого пользователя

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "IMAP+LDAP"  
Сообщение от Anatoliy (??) on 28-Июн-06, 21:10 
>
>>ну давайте разбираться вместе. судя по конфигу, у вас каждый пользователь имеет
>>помимо
>>uid-а используемого для аутентификации ещё и uidNumber и gidNumber используемый курьером для
>>проставления прав в индивидуальных хранилищах imap. Это на самом деле так?
>>
>>Или всё таки imap хранилище имеет uidNumber и gidNumber юзера, под которым
>>работает курьер? Тогда имеет смысл выставить DAP_GLOB_UID and LDAP_GLOB_GID с uidNumber
>>и gidNumber курьерного юзера.
>>Или я вообще неверно интерпритирую значение этих параметров?
>
>
>да в Ldapе хранится uid в виде имечка , и отдельно uidNumber
>и gidNumber, почта хранится в домашнем каталоге каждого пользователя


Явите общественности ldif контейнера пользователя.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "IMAP+LDAP"  
Сообщение от Leonid_mak email(??) on 29-Июн-06, 10:12 
dn: uid=l.makarov,ou=Accounts,ou=PJ0020,o=OBERON,c=SU
cn: l.makarov
sn: l.makarov
uid: l.makarov
uidNumber: 2192
gidNumber: 513
homeDirectory: /home/users/users/l.makarov
loginShell: /bin/false
gecos: l.makarov
description: l.makarov
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
displayName: l.makarov
sambaAcctFlags: [UX]
sambaSID: S-1-5-21-1214429723-3201693330-1744561307-5384
sambaPrimaryGroupSID: S-1-5-21-1214429723-3201693330-1744561307-513
sambaLMPassword: 01C5240268230FC5AAD3B435B51404EE
sambaNTPassword: EE73A940389AFA41FBBFCF2D2FAAF46C
sambaPwdLastSet: 1130261689
userPassword: {CRYPT}$1$G9MKZADi$ZoKDapnBnkeUIHlQoFDy2/
qmailGID: 513
mail: l.makarov@kazan.alita.su
objectClass: top,inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount,qmailUser
qmailUID: 2192
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

9. "IMAP+LDAP"  
Сообщение от Silent on 29-Июн-06, 10:56 
>dn: uid=l.makarov,ou=Accounts,ou=PJ0020,o=OBERON,c=SU
>cn: l.makarov
>sn: l.makarov
>uid: l.makarov
>uidNumber: 2192
>gidNumber: 513
>homeDirectory: /home/users/users/l.makarov
>loginShell: /bin/false
>gecos: l.makarov
>description: l.makarov
>sambaLogonTime: 0
>sambaLogoffTime: 2147483647
>sambaKickoffTime: 2147483647
>sambaPwdCanChange: 0
>sambaPwdMustChange: 2147483647
>displayName: l.makarov
>sambaAcctFlags: [UX]
>sambaSID: S-1-5-21-1214429723-3201693330-1744561307-5384
>sambaPrimaryGroupSID: S-1-5-21-1214429723-3201693330-1744561307-513
>sambaLMPassword: 01C5240268230FC5AAD3B435B51404EE
>sambaNTPassword: EE73A940389AFA41FBBFCF2D2FAAF46C
>sambaPwdLastSet: 1130261689
>userPassword: {CRYPT}$1$G9MKZADi$ZoKDapnBnkeUIHlQoFDy2/
>qmailGID: 513
>mail: l.makarov@kazan.alita.su
>objectClass: top,inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount,qmailUser
>qmailUID: 2192

LDAP_BASEDN      ou=TEST,o=COMP,c=SU
uid=l.makarov,ou=Accounts,ou=PJ0020,o=OBERON,c=SU
Так и должно быть?

# LDAP_FILTER           (objectClass=CourierMailAccount)
LDAP_FILTER           (objectClass=qmailUser)
Если не настроен LDAP_FILTER, то используется  CourierMailAccount, в контейнере пользователя  я не вижу данного объекта.

LDAP_UID                uidNumber
LDAP_GID                gidNumber

LDAP_URI               ldap://ldap.example.com

А у Вас пользователь с группой есть в /etc/master.passwd и /etc/group, или же настроен NSS ??
>uidNumber: 2192
>gidNumber: 513
Если нет, то видимо нужно добавить
LDAP_GLOB_UID          vmail
LDAP_GLOB_GID          vmail

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

10. "IMAP+LDAP"  
Сообщение от Leonid_mak email(??) on 30-Июн-06, 00:51 
LDAP_BASEDN      ou=PJ0020,o=OBERON,c=SU
uid=l.makarov,ou=Accounts,ou=PJ0020,o=OBERON,c=SU
с этим все впорядке....

NSS настроен, LDAP_FILTER закоменчен...

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

11. "IMAP+LDAP"  
Сообщение от Leonid_mak email(??) on 13-Июл-06, 23:44 
учтя все вышесказанные замечания, все равно результат тот-же
привожу более подробный лог

Jul 13 23:21:57 pdc authdaemond: authldap: trying this module

Jul 13 23:21:57 pdc authdaemond: using search filter: (uid=admin)

Jul 13 23:21:57 pdc slapd[1555]: send_ldap_result: conn=27 op=3 p=3

Jul 13 23:21:57 pdc slapd[1555]: send_ldap_response: msgid=4 tag=101 err=0

Jul 13 23:21:57 pdc authdaemond: one entry returned,
DN:
uid=admin,ou=Accounts,ou=TEST,o=ALITA,c=SU


Jul 13 23:21:57 pdc authdaemond: raw ldap entry returned:

Jul 13 23:21:57 pdc authdaemond: | cn: admin

Jul 13 23:21:57 pdc authdaemond: | uid: admin

Jul 13 23:21:57 pdc authdaemond: | homeDirectory: /home/users/users/admin
Jul 13 23:21:57 pdc authdaemond: | userPassword:

{CRYPT}$1$TfQor12v$CpgfPhlU7wLNdlGPu4tvf1

Jul 13 23:21:57 pdc authdaemond: authldaplib: refuse to authenticate admin:

uid=0, gid=0 (zero uid or gid not permitted)
Jul 13 23:21:57 pdc authdaemond: authldaplib: sysusername=<null>,
sysuserid=0,
sysgroupid=0, homedir=/home/users/users/admin, address=admin,

fullname=admin, maildir=<null>, quota=<null>, options=<null>

Jul 13 23:21:57 pdc authdaemond: authldaplib: clearpasswd=<null>
,
passwd={CRYPT}$1$TfQor12v$CpgfPhlU7wLNdlGPu4tvf1
Jul 13 23:21:57 pdc authdaemond: password matches successfully
Jul 13 23:21:57 pdc authdaemond: authldap: TEMPFAIL - no more modules will
be tried
Jul 13 23:21:57 pdc imapd: LOGIN FAILED, user=admin,
ip=[::ffff:192.168.7.31]
Jul 13 23:21:57 pdc imapd: authentication error: Input/output error

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

12. "IMAP+LDAP"  
Сообщение от Silent on 14-Июл-06, 11:24 
>учтя все вышесказанные замечания, все равно результат тот-же
> привожу более подробный лог
>
>Jul 13 23:21:57 pdc authdaemond: authldap: trying this module
>
>Jul 13 23:21:57 pdc authdaemond: using search filter: (uid=admin)
>
>Jul 13 23:21:57 pdc slapd[1555]: send_ldap_result: conn=27 op=3 p=3
>
>Jul 13 23:21:57 pdc slapd[1555]: send_ldap_response: msgid=4 tag=101 err=0
>
>Jul 13 23:21:57 pdc authdaemond: one entry returned,
>DN:
>uid=admin,ou=Accounts,ou=TEST,o=ALITA,c=SU
>
>
>Jul 13 23:21:57 pdc authdaemond: raw ldap entry returned:
>
>Jul 13 23:21:57 pdc authdaemond: | cn: admin
>
>Jul 13 23:21:57 pdc authdaemond: | uid: admin
>
>Jul 13 23:21:57 pdc authdaemond: | homeDirectory: /home/users/users/admin
>Jul 13 23:21:57 pdc authdaemond: | userPassword:
>
>{CRYPT}$1$TfQor12v$CpgfPhlU7wLNdlGPu4tvf1
>
>Jul 13 23:21:57 pdc authdaemond: authldaplib: refuse to authenticate admin:
>
>uid=0, gid=0 (zero uid or gid not permitted)
>Jul 13 23:21:57 pdc authdaemond: authldaplib: sysusername=<null>,
>sysuserid=0,
> sysgroupid=0, homedir=/home/users/users/admin, address=admin,
>
>fullname=admin, maildir=<null>, quota=<null>, options=<null>
>
>Jul 13 23:21:57 pdc authdaemond: authldaplib: clearpasswd=<null>
>,
>passwd={CRYPT}$1$TfQor12v$CpgfPhlU7wLNdlGPu4tvf1
>Jul 13 23:21:57 pdc authdaemond: password matches successfully
>Jul 13 23:21:57 pdc authdaemond: authldap: TEMPFAIL - no more modules will
>
>be tried
>Jul 13 23:21:57 pdc imapd: LOGIN FAILED, user=admin,
>ip=[::ffff:192.168.7.31]
>Jul 13 23:21:57 pdc imapd: authentication error: Input/output error


1 Возможно, что при поиске по фильтру (uid=admin) находится две записи.
2. Покажите ldif-файл этого пользователя.
3. Попробуйте использовать в {MD5} в атрибуте userPassword

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

13. "IMAP+LDAP"  
Сообщение от Leonid_mak email(??) on 15-Июл-06, 11:03 
я уже приводил Ldif файл пользователя выше, двух записей быть не может,
pdc authdaemond: password matches successfully - помоему с паролем все впоряде
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру