mistofeles wrote:
We have a small Ubuntu 9.10 file server in a large Win 2003/2008 domain. There is no X nor web browser in the server.
I have rights to join machines to the domain, but I'm not an Administrator
There is about 10 users in this server, who want to authenticate with domain
passwords when they mount their home directories to WindowsXP workstations.
The ssh passwords should be local and separated from domain passwords.
The server should not try to play any master roles.
Just deliver directories to windows.

http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/ServerType.html#id2560147

ADS server type will allow domain authentication for samba directories
We have tried this for about a month and gone through many books, web pages
and forums.
You will need Samba which provides winbindd, sasl, openldap, kerberos.

Samba should be configured with ads, acl, ldap, kerberos, pam, winbind options if you are building from source.

I would configure it with the following options for optimum scalability:
kerberos, acl, caps, cups, ipv6, ldap, pam, python, readline, winbind, ads, async, automount, doc, examples, fam, quotas, selinux, swat, syslog.

In gentoo linux the following will give you everything you need:

%> USE="kerberos acl caps cups ipv6 ldap pam python readline winbind ads async 
automount doc examples fam quotas selinux swat syslog" /
       emerge mit-krb5 pam_krb5 pam_ldap openldap nss_ldap openssl cyrus-sasl 
ntp samba -va


After reading Samba documentation we don't even understand what programs we
need. in some documents we are told to use PAM, LDAP, krb or winbind. In
some documents you are advised NOT to use this if you are using that.  It is
a total chaos.

Is there any example of a working case like this ?
Is there any script which takes care of the configuration ?
Here is are a few file configuration examples to get you going:

/etc/krb5.conf

========
[libdefaults]
       default_realm = DOMAIN.COM

[realms]
       UTAH.EDU = {
               kdc = 192.168.xxx.xxx
       }

[domain_realm]
       .domain.com = DOMAIN.COM

[loggin]
       default = FILE:/var/log/krb5.log

[appdefaults]
       pam = {
               ticket_lifetime = 365d
               renew_lifetime = 365d
               forwardable = true
               proxiable = false
               retain_after_close = true
               minimum_uid = 0
       }

=========

/etc/nsswitch.conf
=========

passwd:      compat winbind
shadow:      compat
group:       compat winbind

# passwd:    db files nis
# shadow:    db files nis
# group:     db files nis

hosts:       files dns wins
networks:    files dns

services:    db files
protocols:   db files
rpc:         db files
ethers:      db files
netmasks:    files
netgroup:    files
bootparams:  files

automount:   files
aliases:     files

==========

/etc/samba/smb.conf
Change anything with DOMAIN.COM to match your own domain
==========

[global]
       workgroup = DOMAIN
       realm = DOMAIN.COM
       server string = servername.domain.com
       netbios name = servername

       password server = *
       encrypt passwords = true
       security = ads

       lanman auth = no
       ntlm auth = no

       os level = 20

       allow trusted domains = yes
       auth methods = winbind

       interfaces = eth0, lo
       bind interfaces only = yes
       socket options = TCP_NODELAY

       hosts allow = 192.168.xxx.xxx/24 #add more subnets if needed
       hosts deny = 0.0.0.0/0

       log level = 40
       log file = /var/log/samba/log.%m
       max log size = 50

       client signing = yes
       client schannel = no
       client use spnego = yes
       client lanman auth = no
       client NTLMv2 auth = yes
       client plaintext auth = no

       preferred master = no
       local master = no
       domain master = no
       wins proxy = no
       dns proxy = No

       obey pam restrictions = yes

       template shell = /bin/bash
       nt acl support = yes
       inherit permissions = yes
       create mask = 0022
       template homedir = /home/Authenticated Users/%U

       winbind uid = 1000-2000000
       winbind gid = 500-2000000
       winbind separator = +
       winbind enum users = yes
       winbind enum groups = yes
       winbind nested groups = yes
       winbind use default domain = yes
       winbind offline logon = true
       winbind nss info = rfc2307

       idmap uid = 1000-2000000
       idmap gid = 500-2000000
       idmap domains = SCL
       idmap config DOMAIN:backend = ad
       idmap config DOMAIN:default = yes
       idmap config DOMAIN:schema_mode = rfc2307
       idmap config DOMAIN:range = 1000 - 300000000

[classes]
       comment = Class software
       browsable = yes
       writeable = no
       create mask = 0022
       force create mode = 0022
       directory mask = 0022
       force directory mode = 0022
       inherit permissions = yes
       path = /path/to/share

[staff]
       comment = Staff folders
       browsable = yes
       writeable = yes
       create mask = 0022
       force create mode = 0022
       directory mask = 0022
       force directory mode = 0022
       inherit permissions = yes
       valid users = @DOMAIN+Grouname
       path = /path/to/another/share

===========

/etc/pam.d/system-auth
===========

#%PAM-1.0

auth       required     pam_mount.so
auth       required     pam_env.so
auth       sufficient   pam_winbind.so
auth       sufficient   pam_unix.so try_first_pass likeauth nullok
auth       sufficient   pam_krb5.so use_first_pass
auth       required     pam_deny.so

account    required     pam_unix.so
account    sufficient   pam_krb5.so ignore_root
account    sufficient   pam_winbind.so

password   optional     pam_krb5.so
password   required     pam_mount.so use_authtok
password   required     pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 
try_first_pass retry=3
password   sufficient   pam_unix.so try_first_pass use_authtok nullok md5 shadow
password   required     pam_deny.so

session    required     pam_mkhomedir.so umask=0022 skel=/etc/skel/
session    required     pam_limits.so
session    required     pam_unix.so
session    optional     pam_mount.so use_authtok
session    optional     pam_krb5.so


I hope that helps. Also if you look at the pam configuration above you will see some of the best pam modules to install with ubunu package manager.


--
Jas

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba

Reply via email to