Disadvantages include no group support and no support for NTLM2, which is default in Vista.
NOTE: You don't really want to use this. Use Kerberos instead.
Install Instructions:
From here: (http://ubuntuforums.org/showthread.php?p=1706192)
Changes made according to this: http://wiki.bestpractical.com/view/NtlmAuthentication
static int SMBlib_errno; static int SMBlib_SMB_Error;
int SMBlib_errno; int SMBlib_SMB_Error;
static SMB_State_Types SMBlib_State;
SMB_State_Types SMBlib_State;
apr_pool_sub_make(&sp,p,NULL);
apr_pool_create_ex(&sp,p,NULL,NULL);
AuthType NTLM NTLMAuth on NTLMAuthoritative on NTLMDomain YOURDOMAIN NTLMServer yourDomainController NTLMBackup yourBackupDomainController Require valid-user
Kerberos authentication. This allows Vista and Windows 7 users, as well as Windows XP users, to authenticate. You will need to create a regular AD account for credentials. This is referenced as user-account@domain.com below.
Capitilization matters!
[libdefaults]
default_realm = DOMAIN.COM
[domain_realm]
domain.com = DOMAIN.COM
[realms]
DOMAIN.COM = {
kdc = win2k3.domain.com
admin_server = win2k3.domain.com
}
# kinit administrator Password for administrator@DOMAIN.COM:
# ktpass -princ HTTP/fully-qualified-hostname.com@DOMAIN.COM -mapuser user-account -crypto DES-CBC-MD5 -pass password -ptype KRB5_NT_PRINCIPAL -out c:\http.keytab
Copy the http.keytab file from your domain controller, to /etc/apache2 on your wiki
# msktutil -c -k /etc/apache2/http.keytab
Add an HTTP service principal. This should produce no errors.
# msktutil -s HTTP/fully-qualified-hostname.com -k /etc/apache2/http.keytab -h fully-qualified-hostname.com --computer-name netBIOS-hostname --upn HTTP/fully-qualified-hostname.com --server domain-controller.com
# klist -k /etc/apache2/http.keytab
# kinit -k -t /etc/apache2/http.keytab HTTP/fully-qualified-hostname.domain.com
# chown apache:apache /etc/apache2/http.keytab


| Key | Value |
| security/allow-trusted-auth | true |
| security/trusted-auth-provider-id | 45 |
| security/trusted-auth-cgi-variable-name | REMOTE_USER |
| security/trusted-auth-cgi-variable-pattern | ([^@]+) |
NOTE: "trusted-auth-cgi-variable-pattern" extracts username from the REMOTE_USER cgi variable as set by apache when using kerberos auth. So username@domain.com will be logged in as username. Kerberos auth will set this from the user principal name for the user account, which should normally be the SMB username in AD.
Now let's set up apache to use kerberos auth.
<Location />
Allow from all
AuthType Kerberos
KrbAuthRealms DOMAIN.COM
KrbServiceName HTTP
Krb5Keytab /etc/apache2/http.keytab
KrbMethodNegotiate on
KrbMethodK5Passwd on
Require valid-user
</Location>
AuthType Kerberos
AuthName "Krb5 Auth"
KrbAuthRealm DOMAIN.COM
KrbServiceName HTTP
Krb5Keytab /etc/apache2/http.keytab
KrbMethodNegotiate on
KrbMethodK5Passwd off
Require valid-user
Copyright © 2011 MindTouch, Inc. Powered by