PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Home-Dir vom Server holen



jimmy0815
11.02.10, 18:33
Hallo,

ich habe mit Hilfe von
http://wiki.ubuntuusers.de/Samba_Winbind
einen UBUNTU-Client in die Domäne aufgenommen. Der AD-Controller ist eine LinuxKiste.
Nun folgendes Problem, es sollen mehrere solcher LinuxClients ins Netzwerk. Und es soll so laufen, dass z.B. eine Datei die auf Client1 erstellt worden ist dann auch, wenn der entsprechende User sich an dem Anmeldet, an Client2 verfügbar sein soll, grob gesagt.
Nun gibts ja für diesen Zweck Pam-Mount.

/etc/security/pam_mount.conf.xml


[...]
<volume fstype="cifs" server="192.168.1.1" path="Linux" mountpoint="/home/%(USER)" options="iocharset=utf8,uid=xyz,dmask=0700" />
[...]


Versuche ich mich nun als irgendein Benutzer, der auch auf dem Server existiert, anzumelden, erscheint irgendwann das Wallpaper, sonst nichts. Keine Menuleiste oder ähnliches.
Das Profil wird allerdings brav auf \\192.168.1.1\Linux (als entsprechender User) angelegt.
Kille ich das ganze und versuche ich es nochmal erscheint:

Es gibt ein Problem mit dem Konfigurationsserver. (/usr/lib/lbconf2-4/gconf-sanity-check-2) beendet mit dem Status 256
Klicke ich das weg, bleibts beim Wallpaper.

Woran mags haken?

grüße
dennis

edit: achja, lasse ich das mit dem mounten weg, wird ein lokaler Account ohne Probleme eingerichtet und funktioniert auch...aber dass auf jedem Client dann zich Accounts liegen ist nicht gewollt.

craano
11.02.10, 18:39
Warum mountest Du denn nicht einfach bei allen Linux Clients die Homeverzeichnisse vom Server bervor sich die User anmelden; und gut ist?

jimmy0815
11.02.10, 18:46
Hallo,

ich nehme mal an du meinst das so:
eine Freigabe auf dem Server, z.B. \\server\homes\ indem dann alle Benutzerhomes liegen?
Das ist in sofern schlecht da ja erstens ein Verzeichnis mit mehr als 1200 homes "sichtbar" rumliegen. Und zweitens, die jeweiligen Homes befinden sich auf dem server unter /home/$user/Linux (was ja unter samba als \\server\Linux freigegebn ist.)


grüße
dennis

craano
11.02.10, 18:57
Wo Du das Verzeichnis lokal einhängst, hängt nicht vom Speicherort auf dem Server ab.

Bin kein wirklicher Samba Experte, aber ich bin mir nicht sicher, ob zwangsläufig alle Verzeichnisse sichtbar sind. Kann man mit Sicherheit mittels Samba Parametern dran drehen. Security=user, Browsable=no, valid-user=bla,blub etc in die Freigabe jedes User-Verzeichnis packen. Das sollte doch schon reichen.
EDIT: bbrowsable=no müsste auch in die Freigabe des übergeordneten Verzeichnisses, also das, was Du vom Server mountest und lokal unter /home einbindest.


Eine andere Alternative wäre auch ein LogonScript auf jedem Client, welches nur das eigene HomeVerzeichnis beim Anmelden mountet und wieder aushängt, wenn der User sich abmeldet.

Wenn Du nur Linux Clients hast, kannst Du auch mittels NFS das ganze Home Verzeichnis mounten und mittels Unix-Zugriffsrechten vermeiden, das User in fremde Verzeichnisse gelandgen.

oziris
11.02.10, 22:10
Hier hat jemand irgendeine automatische Lösung für sowas gefunden, während er ein Problem mit pam_mount hatte: 1741622

oziris
11.02.10, 22:15
Hier hat jemand irgendeine automatische Lösung für sowas gefunden, während er ein Problem mit pam_mount hatte: 1741622

//edit
Ach ja, ich habe bei einem cifs-Share auch mal Probleme damit gehabt, dass die Dateien nicht direkt nach dem mounten, während des Bootens, da waren. Also habe ich das mounten kurzerhand in rc.local durchgeführt und danach eine while-Schleife mit einem "sleep 1;" drin benutzt, deren Abbruchbedingung "ls wichtige_datei" ist. Sobald die Datei erscheint. Dann erst startet der Kram der das benötigt.
Ein echter Würgaround :P

jimmy0815
12.02.10, 12:22
hallo,

danke für die antworten.
Allerdings hilft mir der Thread auch nicht weiter und der Link im letzte Post ist auch tot.

Aaaber...versuche ich über die Konsole eine anmeldung durchzuführen bekomme ich den Fehler:

pam_mount(pam_mount.c:543): mount of linux failed
und das wars auch.
Nun habe ich noch folgendes probiert,
ich legte das Verzeichnis /home/hans.wurst an, dieser user existiert auch auf dem server. Änderte die Rechte von root auf hans.wurst.
Nun versuche ich das:

sudo mount.cifs //172.16.2.2/linux /home/hans.wurst/ -o user=hans.wurst
Nun, das Verzeichnis wird wunderbar mit den Rechten von hans.wurst gemountet. Allerdings hat hans.wurst selbt keinen Schreibzugriff drauf, ein ls -la /home/ zeigt:

clientadmin@k-b-01:~$ ls -la /home/
insgesamt 20
drwxr-xr-x 6 root root 4096 2010-02-12 12:05 .
drwxr-xr-x 21 root root 4096 2010-02-10 11:50 ..
[...]
drwxr-xr-x 1 root root 0 2010-02-12 12:10 hans.wurst

und dies lässt sich auch nicht mit chown ändern, es bleibt dabei.

Langsam verzweifel ich..
grüße
dennis

edit: achja, das ganze ist so, wenn ich in der pam_mount folgendes hab:

<volume
fstype="cifs"
server="172.16.2.2"
path="linux"
mountpoint="/home/%(USER)/"
options="iocharset=utf8,uid=xyz,dmask=0700"
/>

Bei

<volume
fstype="cifs"
server="172.16.2.2"
path="linux"
mountpoint="~"
options="lfs,codepage=cp850,iocharset=utf8"
/>

wird es gemountet, allerdings kommts dann wie im ersten post beschrieben, nur das wallpaper.

edit2:
das heißt ja, gemountet wird alles richtig.
Nun hab ich nochwas entdeckt, ls -la /home/hans.wurst/ zeigt, das alle dateien dem user hans.wurst gehören, bei gruppe steht aber none.

BedriddenTech
12.02.10, 18:33
Ich nehme an, die Klient-Kiste muß auch noch eine Ahnung haben, wie sie denn die UIDs und GIDs auflösen kann, d.h., sie muß den Samba-Server fragen. Gabs da nicht ein nss_winbind-Modul oder sowas? Der Mountpoint muß dann halt auch zwangsweise dem Nutzer gehören.

jimmy0815
12.02.10, 18:41
Dafür ist, laut howto, wohl die nsswitch.conf da. Diese habe ich auch so eingerichtet.
Allerdings, wenn ich dann getent group ausführe dauert es seeehr lange bis er mir die gruppen anzeigt. Und es sind auch nicht alle, z.B. die hans.wurst gruppe, welche auf dem Server auch für das Verzeichnis Linux gesetzt ist gibts dort nicht.

grüße
dennis

BedriddenTech
12.02.10, 21:44
Dann stimmt was mit der Namensauflösung nicht. Zeig doch mal die entsprechenden Konfigurationen, also allem voran deine /etc/nsswitch.conf.

jimmy0815
13.02.10, 14:20
Die genaue Konfiguration kann ich erst Montag hier reinstellen.
Aber die nsswitch.conf ist genauso wie im howto, also:

passwd: compat winbind
group: compat winbind
shadow: compat

grüße
dennis

BedriddenTech
13.02.10, 16:06
Dreh auch einfach mal das Logging beim Winbind-Modul hoch, vielleicht fällt da ja was auf. Eigentlich darfs nicht so lange dauern, bis der sich wieder meldet.

jimmy0815
15.02.10, 11:27
Hallo,

hier die confs:

smb.conf:

[global]
workgroup = DOM
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
template homedir = /home/%U
winbind enum users = yes
winbind enum groups = yes
winbind cache time = 10
winbind separator = +
winbind use default domain = yes
security = domain
password server = *
encrypt passwords = yes
domain master = no
local master = no
preferred master = no
os level = 0

nsswitch.conf:

passwd: compat winbind
group: compat winbind
shadow: compat

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis


/etc/security/group.conf:

* ; * ; * ; Al0000-2400 ; floppy, audio, cdrom, video, usb, plugdev, users


/etc/pam.d/common-auth

auth required pam_mount.so
auth sufficient pam_unix.so nullok_secure use_first_pass
auth required pam_group.so use_first_pass
auth sufficient pam_winbind.so use_first_pass
auth required pam_deny.so

auth [success=2 default=ignore] pam_krb5.so minimum_uid=1000
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_mount.so

/etc/pam.d/common-account:

account sufficient pam_winbind.so
account required pam_unix.so

account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
account requisite pam_deny.so
account required pam_permit.so
account required pam_krb5.so minimum_uid=1000


/etc/pam.d/common-session:

session required pam_unix.so
session required pam_mkhomedir.so umask=0022 skel=/etc/skel
session optional pam_foreground.so
session optional pam_mount.so


session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_krb5.so minimum_uid=1000
session required pam_unix.so
session optional pam_mount.so
session optional pam_ck_connector.so nox11


/etc/pam.d/sudo:


@include common-auth
@include common-account

session required pam_permit.so
session required pam_limits.so

auth sufficient pam_winbind.so
auth sufficient pam_unix.so use_first_pass
auth required pam_deny.so

@include common-account


/etc/security/pam_mount.conf.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<!--
See pam_mount.conf(5) for a description.
-->

<pam_mount>


<!-- Volume definitions -->
<!--<volume
fstype="cifs"
server="172.16.2.2"
path="linux"
mountpoint="/home/%(USER)/"
options="iocharset=utf8,uid=xyz,dmask=0700"
/>
-->
<volume
fstype="cifs"
server="172.16.2.2"
path="linux"
mountpoint="~"
options="lfs,codepage=cp850,iocharset=utf8"
/>

<!-- pam_mount parameters: General tunables -->

<debug enable="0" />
<!--
<luserconf name=".pam_mount.conf.xml" />
-->

<!-- Note that commenting out mntoptions will give you the defaults.
You will need to explicitly initialize it with the empty string
to reset the defaults to nothing. -->
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_r oot,allow_other" />
<!--
<mntoptions deny="suid,dev" />
<mntoptions allow="*" />
<mntoptions deny="*" />
-->
<mntoptions require="nosuid,nodev" />
<path>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</path>

<logout wait="0" hup="0" term="0" kill="0" />


<!-- pam_mount parameters: Volume-related -->

<mkmountpoint enable="1" remove="true" />


</pam_mount>

jimmy0815
17.02.10, 09:42
und hier die logs:

log.winbind

[2010/02/17 09:36:28, 1] winbindd/winbindd_util.c:303(trustdom_recv)
Could not receive trustdoms
[2010/02/17 09:36:38, 1] winbindd/winbindd_util.c:303(trustdom_recv)
Could not receive trustdoms
[2010/02/17 09:36:48, 1] winbindd/winbindd_util.c:303(trustdom_recv)
Could not receive trustdoms
[2010/02/17 09:36:48, 0] winbindd/winbindd.c:190(winbindd_sig_term_handler)
Got sig[15] terminate (is_parent=1)
[2010/02/17 09:36:50, 0] winbindd/winbindd.c:1244(main)
winbindd version 3.4.0 started.
Copyright Andrew Tridgell and the Samba Team 1992-2009
[2010/02/17 09:36:50, 0] winbindd/winbindd_cache.c:2578(initialize_winbindd_cache)
initialize_winbindd_cache: clearing cache and re-creating with version number 1
[2010/02/17 09:36:51, 1] rpc_client/cli_pipe.c:948(cli_pipe_validate_current_pdu)
cli_pipe_validate_current_pdu: RPC fault code DCERPC_FAULT_OP_RNG_ERROR received from host SERVER!


log.wb-DOM

[2010/02/16 10:19:25, 0] libsmb/ntlmssp_sign.c:208(ntlmssp_check_packet)
NTLMSSP NTLM2 packet check failed due to invalid signature!
[2010/02/16 10:19:25, 0] rpc_client/cli_pipe.c:620(cli_pipe_verify_ntlmssp)
cli_pipe_verify_ntlmssp: failed to unseal packet from host SERVER. Error was NT_STATUS_ACCESS_DENIED.
[2010/02/16 10:19:25, 0] libsmb/ntlmssp_sign.c:208(ntlmssp_check_packet)
NTLMSSP NTLM2 packet check failed due to invalid signature!
[2010/02/16 10:19:25, 0] rpc_client/cli_pipe.c:620(cli_pipe_verify_ntlmssp)
cli_pipe_verify_ntlmssp: failed to unseal packet from host SERVER. Error was NT_STATUS_ACCESS_DENIED.
[2010/02/16 10:19:25, 0] libsmb/ntlmssp_sign.c:208(ntlmssp_check_packet)
NTLMSSP NTLM2 packet check failed due to invalid signature!
[2010/02/16 10:19:25, 0] rpc_client/cli_pipe.c:620(cli_pipe_verify_ntlmssp)
cli_pipe_verify_ntlmssp: failed to unseal packet from host SERVER. Error was NT_STATUS_ACCESS_DENIED.
[2010/02/16 10:19:25, 0] libsmb/ntlmssp_sign.c:208(ntlmssp_check_packet)
NTLMSSP NTLM2 packet check failed due to invalid signature!
[2010/02/16 10:19:25, 0] rpc_client/cli_pipe.c:620(cli_pipe_verify_ntlmssp)
cli_pipe_verify_ntlmssp: failed to unseal packet from host SERVER. Error was NT_STATUS_ACCESS_DENIED.
[2010/02/16 10:19:25, 0] winbindd/winbindd.c:190(winbindd_sig_term_handler)
Got sig[15] terminate (is_parent=0)
[2010/02/17 09:35:19, 1] winbindd/winbindd_user.c:177(winbindd_dual_userinfo)
error getting user info for sid S-1-5-21-1351015754-279800136-1080471298-7144
[2010/02/17 09:35:19, 1] winbindd/winbindd_user.c:177(winbindd_dual_userinfo)
error getting user info for sid S-1-5-21-1351015754-279800136-1080471298-3454
[2010/02/17 09:35:19, 1] winbindd/winbindd_user.c:177(winbindd_dual_userinfo)
error getting user info for sid S-1-5-21-1351015754-279800136-1080471298-2004
[2010/02/17 09:35:19, 1] winbindd/winbindd_user.c:177(winbindd_dual_userinfo)
error getting user info for sid S-1-5-21-1351015754-279800136-1080471298-3488
[2010/02/17 09:36:48, 0] winbindd/winbindd.c:190(winbindd_sig_term_handler)
Got sig[15] terminate (is_parent=0)
[2010/02/17 09:36:51, 1] rpc_client/cli_pipe.c:948(cli_pipe_validate_current_pdu)
cli_pipe_validate_current_pdu: RPC fault code DCERPC_FAULT_OP_RNG_ERROR received from host SERVER!


das geht die ganze zeit so...

grüße
dennis

BedriddenTech
17.02.10, 21:35
Muss da vielleicht noch ein "Machine Trust Account" für den Client angelegt werden? (smbpasswd --help)

jimmy0815
17.02.10, 22:16
ist bereits so! Wird automatisch gemacht.

jimmy0815
21.02.10, 16:06
Gibts da keine Lösung für das Problem? :(

BedriddenTech
21.02.10, 22:12
Der Samba-Server läuft auf Ubuntu? Könnte dieser Eintrag im Forum auf Ubuntuusers ('http://ubuntuforums.org/archive/index.php/t-1360319.html') passen und Dir helfen?

jimmy0815
22.02.10, 20:25
Nein, leider nicht.
Wo ich grad bei bin, soweit ich weiß läuft der server unter Debian Lenny.

grüße
dennis