PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba erzeugt kein Profilverzeichnis



benpan
11.10.10, 12:58
Hallo zusammen,

Samba 3.4.7 zickt bei mir ein wenig, er legt kein Profilverzeichnis an.
An sich arbeitet er als PDC, ich habe einen Windows-PC in die Domäne aufgenommen.
Dann hab ich einen Benutzer mit useradd und smbpasswd -a angelegt, und den kann ich auch unter Windows anmelden. Allerdings weist Windows darauf hin, dass er nur mit ein temporäres Profil hat und Samba hat im Profile-Verzeichnis kein Verzeichnis für den User erzeugt.

Habt ihr sowas mal erlebt und Tipps für mich?

Schöne Grüße, Benedikt

Der Log-Auszug (WIN7VM ist der PC, user1 der Benutzer):


[2010/10/11 12:18:59, 0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
_netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client WIN7VM machine account WIN7VM$
[2010/10/11 12:19:23, 0] lib/util_sock.c:539(read_fd_with_timeout)
[2010/10/11 12:19:23, 0] lib/util_sock.c:1491(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Connection reset by peer.
[2010/10/11 12:23:25, 0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
_netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client WIN7VM machine account WIN7VM$
[2010/10/11 12:23:25, 1] auth/auth_util.c:577(make_server_info_sam)
User WIN7VM$ in passdb, but getpwnam() fails!
[2010/10/11 12:23:25, 0] auth/auth_sam.c:355(check_sam_security)
check_sam_security: make_server_info_sam() failed with 'NT_STATUS_NO_SUCH_USER'
[2010/10/11 12:23:48, 0] lib/util_sock.c:539(read_fd_with_timeout)
[2010/10/11 12:23:48, 0] lib/util_sock.c:1491(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Connection reset by peer.
[2010/10/11 12:24:07, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 12:24:07, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 12:24:07, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 12:24:07, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 12:24:07, 1] smbd/service.c:1063(make_connection_snum)
win7vm (192.168.171.129) connect to service netlogon initially as user user1 (uid=1002, gid=1002) (pid 1153)
[2010/10/11 12:24:15, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 12:24:18, 1] smbd/service.c:1240(close_cnum)
win7vm (192.168.171.129) closed connection to service netlogon
[2010/10/11 12:24:48, 0] lib/util_sock.c:539(read_fd_with_timeout)
[2010/10/11 12:24:48, 0] lib/util_sock.c:1491(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Connection reset by peer.


smb.conf als Output von testparm


Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[netlogon]"
Processing section "[profiles]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions
[global]
workgroup = VMDOM1
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
load printers = No
printcap name = /dev/null
add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
domain logons = Yes
os level = 33
preferred master = Yes
dns proxy = No
usershare max shares = 0
panic action = /usr/share/samba/panic-action %d
printing = bsd
print command = lpr -r -P'%p' %s
lpq command = lpq -P'%p'
lprm command = lprm -P'%p' %j

[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = Yes

[profiles]
comment = Users profiles
path = /home/samba/profiles
create mask = 0600
directory mask = 0700
browseable = No
browsable = No


Profile-Verzeichnis:


root@ubuntuvm:/etc/samba# ll /home/samba
total 16
drwxr-xr-x 4 root root 4096 2010-10-11 11:58 ./
drwxr-xr-x 5 root root 4096 2010-10-11 12:21 ../
drwxr-xr-x 2 root root 4096 2010-10-11 11:58 netlogon/
drwxr-xr-x 2 root root 4096 2010-10-11 11:58 profiles/

root@ubuntuvm:/etc/samba# ll /home/samba/netlogon
total 8
drwxr-xr-x 2 root root 4096 2010-10-11 11:58 ./
drwxr-xr-x 4 root root 4096 2010-10-11 11:58 ../

root@ubuntuvm:/etc/samba# ll /home/samba/profiles
total 8
drwxr-xr-x 2 root root 4096 2010-10-11 11:58 ./
drwxr-xr-x 4 root root 4096 2010-10-11 11:58 ../

benpan
11.10.10, 13:06
Nachtrag zum Log-Eintrag

User WIN7VM$ in passdb, but getpwnam() fails!

Mir ist aufgefallen, dass der PC-Name in /etc/passwd und der Samba-User-DB unterschiedlich geschrieben ist. Kann das die Ursache dafür sein?
Allerdings kann ich nicht einschätzen, ob das eine wichtige Fehlermeldung ist oder nur eine unkritische Info.

/etc/passwd

win7vm$:x:1001:1001:win7vm$ machine account:/var/lib/samba:/bin/false

pdbedit -vL

Unix username: WIN7VM$
NT username:
Account Flags: [W ]
User SID: S-1-5-21-1878758795-1077047657-2894703284-1002
Primary Group SID: S-1-5-21-1878758795-1077047657-2894703284-513
Full Name: WIN7VM$
Home Directory: \\ubuntuvm\win7vm_
HomeDir Drive:
Logon Script:
Profile Path: \\ubuntuvm\win7vm_\profile
Domain: VMDOM1
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 9223372036854775807 seconds since the Epoch
Kickoff time: 9223372036854775807 seconds since the Epoch
Password last set: Mon, 11 Oct 2010 12:18:56 CEST
Password can change: Mon, 11 Oct 2010 12:18:56 CEST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

benpan
11.10.10, 18:09
Nachtrag 2:
Mit "passdb backend = smbpasswd" verschwindet die eine Meldung, doch das eigentliche Problem (temp. Profil / Profilverzeichnis wird nicht erzeugt) besteht weiterhin.


[2010/10/11 17:11:05, 0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
_netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client WIN7VM machine account WIN7VM$
[2010/10/11 17:13:09, 0] lib/util_sock.c:539(read_fd_with_timeout)
[2010/10/11 17:13:09, 0] lib/util_sock.c:1491(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Connection reset by peer.
[2010/10/11 17:13:11, 0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
_netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client WIN7VM machine account WIN7VM$
[2010/10/11 17:13:59, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 17:13:59, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 17:13:59, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 17:13:59, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 17:13:59, 1] smbd/service.c:1063(make_connection_snum)
win7vm (192.168.171.129) connect to service netlogon initially as user user1 (uid=1001, gid=1002) (pid 1154)
[2010/10/11 17:14:01, 0] smbd/service.c:1202(make_connection)
win7vm (192.168.171.129) couldn't find service user1
[2010/10/11 17:14:12, 1] smbd/service.c:1240(close_cnum)
win7vm (192.168.171.129) closed connection to service netlogon
[2010/10/11 17:14:43, 0] lib/util_sock.c:539(read_fd_with_timeout)
[2010/10/11 17:14:43, 0] lib/util_sock.c:1491(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Connection reset by peer.


pdbedit

Unix username: win7vm$

Datei smbpasswd

WIN7VM$:1002:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:9017 F59A621B79031429C35902B4450E:[W ]:LCT-4CB32908:

benpan
12.10.10, 13:30
Also, ich habe den Eindruck, es liegt am User-Mapping.
Mir fiel erst jetzt auf, dass Winbind lief: gestoppt, es sollte auch ohne gehen.

Links für Interessierte:
http://www.linuxforen.de/forums/showthread.php?t=216060
http://gertranssmb3.berlios.de/output/groupmapping.html

Seltsam fand ich, dass net groupmap list keine Standard-Gruppen hatte. Also hab ich sie anlegt:


net groupmap add rid=513 ntgroup="Domain Users" unixgroup=users type=domain
net groupmap add rid=512 ntgroup="Domain Admins" unixgroup=domadm type=domain
net groupmap add rid=514 ntgroup="Domain Guests" unixgroup=nogroup type=domain


Doch auch damit (und ohne Winbind) bleibt das Problem mit dem temp. Profil.
Im Log (loglevel3) finden sich ein paar SIDs. Der Login-User ist in der Gruppe users = "Domain Users" (513), die 1007 ist wohl seine RID. Mich irritiert, dass auch diese Gruppe bzw. der User keine Privilegien hat. Vielleicht funktioniert das User-Mapping noch immer nicht.


get_privileges: No privileges assigned to SID [S-1-5-21-3749594539-3068005449-2203920870-501]
get_privileges: No privileges assigned to SID [S-1-5-21-3749594539-3068005449-2203920870-501]
get_privileges: No privileges assigned to SID [S-1-5-21-3749594539-3068005449-2203920870-501]
get_privileges: No privileges assigned to SID [S-1-5-21-3749594539-3068005449-2203920870-1007]
get_privileges: No privileges assigned to SID [S-1-5-21-3749594539-3068005449-2203920870-513]
get_privileges: No privileges assigned to SID [S-1-5-21-3749594539-3068005449-2203920870-501]

benpan
12.10.10, 16:28
Na gut, weitere Versuche mit Winbind und erweiterter Konfig:


winbind enum groups = yes
winbind enum users = yes
idmap uid = 10000-20000
idmap gid = 10000-20000


Die Lookups sehen ok aus, hier der User und der PC:


# wbinfo -i user3
user3:*:1001:100::/home/VMDOM3/user3:/bin/false
# wbinfo -U 1001
S-1-5-21-3749594539-3068005449-2203920870-1007
# wbinfo --sid-to-name S-1-5-21-3749594539-3068005449-2203920870-1007
VMDOM3\user3 1
# wbinfo --sid-to-uid S-1-5-21-3749594539-3068005449-2203920870-1007
1001




# wbinfo -i win2k$
win2k$:*:1004:100:WIN2K$:/home/VMDOM3/win2k_:/bin/false
# wbinfo -U 1004
S-1-5-21-3749594539-3068005449-2203920870-1009
# wbinfo --sid-to-name S-1-5-21-3749594539-3068005449-2203920870-1009
VMDOM3\WIN2K$ 1
# wbinfo --sid-to-uid S-1-5-21-3749594539-3068005449-2203920870-1009
1004


Einige andere SIDs aus dem Logfile und die BUILTIN Gruppen:


# wbinfo --sid-to-name S-1-5-21-3749594539-3068005449-2203920870-501
VMDOM3\nobody 1
# wbinfo --sid-to-uid S-1-5-21-3749594539-3068005449-2203920870-501
65534

# wbinfo --sid-to-name S-1-5-2
Could not lookup sid S-1-5-2
# wbinfo --sid-to-uid S-1-5-2
Could not convert sid S-1-5-2 to uid

# wbinfo --sid-to-name S-1-5-32-544
BUILTIN\Administrators 4
# wbinfo --sid-to-gid S-1-5-32-544
10000

# wbinfo --sid-to-name S-1-5-32-545
BUILTIN\Users 4
# wbinfo --sid-to-gid S-1-5-32-545
10001

# wbinfo --sid-to-name S-1-5-32-546
BUILTIN\Guests 4
# wbinfo --sid-to-gid S-1-5-32-546
10002


Jetzt sind in den Logs praktisch keine Fehler mehr, doch die Profil-Verzeichnisse sind trotzdem nicht da...

benpan
12.10.10, 20:16
Unter Linux kann ich als 'user3' ins Profile-Verzeichnis schreiben, von Windows aus über SMB nicht. Das ist der Grund weshalb es leer bleibt.

Doch das User-Mapping scheint mir ok: user3 ist in der Gruppe 'user', die über das Mapping oben der Gruppe "Domain Admins" zugewiesen wurde. Das ist die Primary Group SID.
pdbedit -vL user3


Unix username: user3
NT username:
Account Flags: [U ]
User SID: S-1-5-21-3749594539-3068005449-2203920870-1007
Primary Group SID: S-1-5-21-3749594539-3068005449-2203920870-513
Full Name:
Home Directory: \\ubuntuvm\user3
HomeDir Drive:
Logon Script:
Profile Path: \\ubuntuvm\user3\profile
Domain: VMDOM3
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 9223372036854775807 seconds since the Epoch
Kickoff time: 9223372036854775807 seconds since the Epoch
Password last set: Tue, 12 Oct 2010 12:18:20 CEST
Password can change: Tue, 12 Oct 2010 12:18:20 CEST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

benpan
12.10.10, 20:59
In der Deklaration der Freigabe lohnt sich die letzte Zeile...


[profiles]
comment = Users profiles
path = /var/lib/samba/profiles
guest ok = no
browseable = no
create mask = 0600
directory mask = 0700
read only = no


;-)

benpan
12.10.10, 21:26
Es scheint übrigens auch ohne Winbind zu funktionieren.
Falls jemand das gleiche Fehlerbild hat, würde ich dem "read only = no" checken:
- logon path muss aus Client-Sicht auf das Profile zeigen
- Profile-Verzeichnis braucht im Dateisystem Schreibrechte für andere