Ich habe einige zentral verwaltete Ubuntu-Workstations, die Benutzer gegen Active Directory authentifizieren und Benutzer-Home-Ordner bei der Anmeldung mit pam_mount bereitstellen. Dies funktioniert normalerweise wie erwartet, aber manchmal werden die Home-Ordner nicht gemountet und für jedes zu mountende Volume bekomme ich dies hinein /var/log/auth.log
:
(mount.c:72): Messages from underlying mount program:
(mount.c:76): mount error(115): Operation now in progress
(mount.c:76): Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
(pam_mount.c:522): mount of data/users/username/documents failed
Es hängt für über 10 Sekunden auf jedem Volume, also einloggen oder su
ausführen zum Beispiel kann buchstäblich Minuten dauern. Wenn ich währenddessen ein anderes Terminal öffne, erhalte ich ausnahmsweise
I have no [email protected]:~$
Ich sehe dies in syslog
:
Jun 11 18:28:16 VP-OH-01L kernel: [35851.544770] Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE
Jun 11 18:28:16 VP-OH-01L kernel: [35851.544787] cifs_vfs_err: 10 callbacks suppressed
Jun 11 18:28:16 VP-OH-01L kernel: [35851.544789] CIFS VFS: Send error in SessSetup = -13
Jun 11 18:28:16 VP-OH-01L kernel: [35851.544912] CIFS VFS: cifs_mount failed w/return code = -13
Jun 11 18:28:26 VP-OH-01L kernel: [35861.554651] CIFS VFS: Error connecting to socket. Aborting operation.
Jun 11 18:28:26 VP-OH-01L kernel: [35861.554822] CIFS VFS: cifs_mount failed w/return code = -115
Jun 11 18:28:36 VP-OH-01L kernel: [35871.564834] CIFS VFS: Error connecting to socket. Aborting operation.
Jun 11 18:28:36 VP-OH-01L kernel: [35871.565010] CIFS VFS: cifs_mount failed w/return code = -115
Es meldet sich immer noch an (und warnt nicht vor einer Offline-Anmeldung, die es tut, wenn keine Verbindung besteht), sodass eine Verbindung zwischen der Arbeitsstation und der Domäne besteht.
Ich werde alle meine zugehörigen Konfigurationen unten ausgeben; Entschuldigung für eine Textwand! In /etc/security/pam_mount.conf.xml
Ich habe ungefähr 10 Konfigurationen wie diese:
<volume user="*" fstype="cifs" server="ou.domain.com" path="data/users/%(USER)/documents" mountpoint="~/Documents" options="uid=%(USER),gid=100,dir_mode=0700,file_mode=0700,nounix,iocharset=utf8,rw,sec=ntlmsspi" />
In /etc/pam.d/common-auth
:
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_mount.so disable_interactive
In /etc/pam.d/common-session
:
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_umask.so
session required pam_unix.so
session optional pam_winbind.so
session optional pam_mount.so disable_interactive
session optional pam_systemd.so
In /etc/hosts
:
127.0.0.1 localhost
127.0.1.1 COMPUTER_FQDN COMPUTER_HOSTNAME
In /etc/krb5.conf
:
[libdefaults]
default_realm = OU.DOMAIN.COM
ticket_lifetime = 24000
default_tgs_enctypes = rc4-hmac des-cbc-md5
default_tkt_enctypes = rc4-hmac des-cbc-md5
permitted_enctypes = rc4-hmac des-cbc-md5
dns_lookup_realm = true
dns_lookup_kdc = true
dns_fallback = yes
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
[realms]
OU.DOMAIN.COM = {
kdc = ou.domain.com:88
default_domain = ou.domain.com
}
[domain_realm]
.ou.domain.com = OU.DOMAIN.COM
ou.domain.com = OU.DOMAIN.COM
[login]
krb4_convert = true
krb4_get_tickets = false
In /etc/nsswitch.conf
:
passwd: compat winbind
group: compat winbind
shadow: compat
gshadow: files
hosts: files dns wins
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
In /etc/security/pam_winbind.conf
:
cached_login = yes
Und schließlich in /etc/samba/smb.conf
:
[global]
netbios name = COMPUTER_HOSTNAME
security = ADS
workgroup = OU
realm = OU.DOMAIN.COM
encrypt passwords = yes
idmap config *:backend = rid
idmap config *:range = 5000-100000
dedicated keytab file = /etc/krb5.keytab
kerberos method = secrets and keytab
winbind refresh tickets = yes
winbind trusted domains only = no
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
winbind offline logon = yes
client ntlmv2 auth = yes
client ldap sasl wrapping = sign
template shell = /bin/bash
wins server = 192.168.0.70
name resolve order = lmhosts host wins bcast
Die Workstations haben Ubuntu 16.04. Dies passiert sehr zufällig, wenn ich den Computer hochfahre und mich anmelde (oder später su
an einen anderen Domänenbenutzer) und ich habe keine Möglichkeit gefunden, es zu reproduzieren. Manchmal funktioniert es wie ein Zauber. Die Workstations sind über Ethernet mit dem LAN verbunden und der DC befindet sich im selben LAN (gute Verbindung). Mir gehen die Ideen aus und jede Hilfe oder Vorschläge werden sehr geschätzt 🙂