cancel
Showing results for 
Search instead for 
Did you mean: 

CIFS and Kerberos, Windows XP unable to map network drive

esafonov
Champ in-the-making
Champ in-the-making
After installing Alfresco 3.2 CE and configuring Alfresco against Active Directory using this http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems, I'v get this symptoms:
MS Windows XP Professional SP3 can't map network drive to Alfresco CIFS share using full host name (with domain part), but can map using short form (only hostname, without domain part):

does'nt work:
net use p: "\\alfresco.mydomain.ru\alfresco"
with error in alfresco.log and catalina.out:
ERROR [org.alfresco.smb.protocol.auth] java.lang.NullPointerException
And Windows XP says:
System error 1311

do work:
net use "\\alfresco.mydomain.ru"
net use p: "\\alfresco.mydomain.ru\alfresco"

I'v done some checks:
    - time synchronization is ok,
    - kerberos is alive
    - can get ticket at alfresco server with kinit,
    - ldap syncronization is ok
    - user can login into alfresco with Alfresco Explorer login
The question is,
Why Windows XP workstation can map network drive to Alfresco CIFS server only if there is a connection to IPC$ before mapping ?
Does anybody have the same thing?


===============
[size=85]Centos 5.3 x86_64 Linux 2.6.18-164.el5
java version "1.6.0_11" Java(TM) SE Runtime Environment (build 1.6.0_11-b03) Java HotSpot(TM) 64-Bit Server VM (build 11.0-b16, mixed mode)
Active directory server: MS Windows 2003 Standart Edition server SP2
Workstation client: MS Windows XP Professional SP3
Alfresco 3.2 CE[/size]

/opt/alfresco/tomcat/shared/classes/alfresco-global.properties
[size=85]
cifs.enabled=true
cifs.serverName=alfresco
cifs.domain=LOCAL.UGSG.RU
cifs.hostannounce=true

authentication.chain=ldap1:ldap-ad,kb1:kerberos

…skipped…

kerberos.authentication.sso.enabled=true
kerberos.authentication.realm=LOCAL.UGSG.RU
kerberos.authentication.authenticateHTTP=false
kerberos.authentication.authenticateCIFS=true
kerberos.authentication.user.configEntryName=Alfresco
kerberos.authentication.cifs.configEntryName=AlfrescoCIFS
kerberos.authentication.http.configEntryName=AlfrescoHTTP

kerberos.authentication.http.password=skipped
kerberos.authentication.cifs.password=skipped
[/size]

added:
There is a similar bug:
https://issues.alfresco.com/jira/browse/ETHREEOH-531
3 REPLIES 3

paulweb
Champ in-the-making
Champ in-the-making
Рабочий сервер:
OS: Centos 5.2
Alfresco 3.2r
Database: ORACLE 10g
Authentication: Kerberos +AD
И еще важный момент в сети у машины имя centos52 а полное centos 52.my-domain.ru.
В file-servers.properties
cifs.serverName=centos52
клиентская машина:
OS: winxp sp3

Сперва я не мог понять: почему cifs  отклоняет запрос win xp 3 на аутентификацию,  а вот если я делаю коннект с windows server 2003 то все нормально.
Затем я полез в код и добавил пару строчек для дебага. Перезапустив alfresco я выяснил следующие:
Если cifs servername и машина имеют одинаковое имя, то сперва на сервер посылается запрос на аутентификацию от машины клиента, а только потом от пользователя.    Alfresco отклоняет аутентификацию от машины, притом очень простым способом если имя клиента заканчивается на $ то эта машина и следовательно access denied. Затем клиент получает, что доступ запрещен и шлет  запрос на аутентификацию от пользователя p.web и тогда все нормально. Но только не в случае win xp sp3, при получении отказа она не посылает повторной запрос от пользователя, а выдает окошко для введения логина и пароля.
Что можно сделать:
1.   cifs.serverName=centos52A тогда все будет работать без проблем
2.   или использовать мой патч.

Извините за сумбурность, просто хочется помочь, сам был в такой ситуации. Если что то непонятно, могу привести ход своих рассуждений с примерами из кода, а так же приложить логи самой alfresco и снифера.

Why Windows XP workstation can map network drive to Alfresco CIFS server only if there is a connection to IPC$ before mapping ?
потому что на ipc$ alfresco дает доступ как в случае запроса аутетнитифкации от пользователя так и от машины. а вот дальше если имя заканчиватеся на $ то доступ Вам запрещен.

P.S:I hope with Russian was not mistaken? I can and to write in English if it is necessary.

esafonov
Champ in-the-making
Champ in-the-making
PaulWeb, your post is Extremely Useful, thank you!
А теперь по русскиSmiley Happy, спасибо, хорошо прояснили ситуацию! Теперь отчасти понятно, зачем разработчики сделали имя SMB-сервера по умолчанию AlfrescoA Smiley Happy А можете выложить патч? Может быть опубликовать его на issues.alfresco.com?

mikeh
Star Contributor
Star Contributor
Although we obviously encourage Community members to help eachother out, please try to use English on these forums whenever possible.

Thanks,
Mike