Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Anmeldung am Linux-Server als AD-Benutzer funktioniert obwohl der Benutzer keine Berechtigung hat

Frage Linux Suse

Mitglied: Gansterjo2

Gansterjo2 (Level 1) - Jetzt verbinden

08.07.2014 um 08:17 Uhr, 2678 Aufrufe, 14 Kommentare

Hallo zusammen

Von meinem Arbeitgeber bekam ich den Auftrag, dass ich einen SLES-Server 11 SP1 in eine AD integrieren soll sprich, dass ich mit einem AD-Benutzer, der sich in einer definierten Gruppe befindet anmelden kann.

Kernel-Version 2.6.32.59-0.3-default
Pakete
samba-winbind 3.4.3-1.42.1
samba-winbind-32bit 3.4.3-1.42.1
yast2-samba-server 2.17.11-0.2.72
yast2-samba-client 2.17.18-0.5.5
samba 3.4.3-1.42.1
samba-32bit 3.4.3-1.42.1
pam_krb5 2.3.1-47.10.15
pam_krb5-32bit 2.3.1-47.10.15
krb5 1.6.3-133.48.48.1
krb5-32bit 1.6.3-133.48.48.1
krb5-client 1.6.3-133.48.48.1
nss_ldap 262-11.32.31.1
libwbclient0-32bit 343-1.42.1


Alle anderen Benutzer, die nicht in dieser Gruppe sind, sollten sich nicht anmelden können.

Kurioserweise können sich die anderen Benutzer trotzdem anmelden. Dabei erscheint die Meldung (auch, wenn sich die Benutzer in der richtigen Gruppe befinden):

Cannot convert group [...] to sid, please contact your administrator to see if group [...] is valid

Meine Frage ist nun, wo könnte der Hund begraben liegen bzw. was kann ich machen, damit sich die Benutzer anmelden können, wie gewünscht?

Vielen Dank

Gruss Gansterjo2
Mitglied: broecker
08.07.2014 um 10:05 Uhr
Moin,
da fehlt noch Information: ist der SLES schon Domänen-Member - also mit dem DC tatsächlich verbunden, daß die Pakete dafür installiert sind, heißt ja nicht, daß es auch so konfiguriert ist, /etc/samba/smb.conf könnte da ein Anhaltspunkt sein.
Weiterhin wäre der Domänen-Level interessant: in einer alten <=2003-Domäne wird meistens nur auf "zufällige" Übereinstimmung von Usernamen (ohne Domäne zu betrachten) und Passwort geprüft (NTLM?) - so kann jemand auf z.B. Laufwerksfreigaben zugreifen, ohne Mitglied zu sein.
HG
Mark
Bitte warten ..
Mitglied: Gansterjo2
08.07.2014 um 10:20 Uhr
Hallo broecker

Der SLES 11 Server befindet sich bereits in der Domäne.
Wenn ich das Kommando 'wbinfo -p' eingebe erscheint die Meldung 'Ping to winbindd succeeded' auch biem Kommando 'wbinfo -g' werden alle Gruppen, die sich in der AD befinden aufgelistet.


01.
[global] 
02.
        workgroup = DOMAIN 
03.
        passdb backend = tdbsam 
04.
        printing = cups 
05.
        printcap name = cups 
06.
        printcap cache time = 750 
07.
        cups options = raw 
08.
        map to guest = Bad User 
09.
        include = /etc/samba/dhcp.conf 
10.
        logon path = \\%L\profiles\.msprofile 
11.
        logon home = \\%L\%U\.9xprofile 
12.
        logon drive = P: 
13.
        usershare allow guests = No 
14.
        idmap gid = 10000-20000 
15.
        idmap uid = 10000-20000 
16.
        security = ADS 
17.
        realm = DOMAIN.LOCAL 
18.
        template homedir = /home/%D/%U 
19.
        template shell = /bin/bash 
20.
        winbind offline logon = yes 
21.
        winbind refresh tickets = yes 
22.
[homes] 
23.
        comment = Home Directories 
24.
        valid users = %S, %D%w%S 
25.
        browseable = No 
26.
        read only = No 
27.
        inherit acls = Yes 
28.
[profiles] 
29.
        comment = Network Profiles Service 
30.
        path = %H 
31.
        read only = No 
32.
        store dos attributes = Yes 
33.
        create mask = 0600 
34.
        directory mask = 0700 
35.
[users] 
36.
        comment = All users 
37.
        path = /home 
38.
        read only = No 
39.
        inherit acls = Yes 
40.
        veto files = /aquota.user/groups/shares/ 
41.
[groups] 
42.
        comment = All groups 
43.
        path = /home/groups 
44.
        read only = No 
45.
        inherit acls = Yes 
46.
[printers] 
47.
        comment = All Printers 
48.
        path = /var/tmp 
49.
        printable = Yes 
50.
        create mask = 0600 
51.
        browseable = No 
52.
[print$] 
53.
        comment = Printer Drivers 
54.
        path = /var/lib/samba/drivers 
55.
        write list = @ntadmin root 
56.
        force group = ntadmin 
57.
        create mask = 0664 
58.
        directory mask = 0775 
59.
 

Gemäss der Eigenschaften des Domänencontrollers steht folgendes:
Domänenfunktionsebene: Windows Server 2008 R2
Gesamtstrukturebene: Windows Server 2008 R2


Freundliche Grüsse

Gansterjo2
Bitte warten ..
Mitglied: Chonta
LÖSUNG 08.07.2014, aktualisiert 09.07.2014
Hallo,

http://dozent.maruweb.de/material/samba.shtml

%S ist die Freigabe
und was soll %w sein?

valid users = @"DOMAIN\Domänen-Admins"

Sowas sollte da stehen.

template shell = /bin/bash

Das ermöglicht nebenbei die lokale Anmeldung am Server auf der Shell/Desktop. (jedem Domänennutzer)
Ansonsten ist bei keiner deiner Freigaben eine Gruppenbeschrenkung.
Geht ein chown root:domänengruppe irgendeine.txt?

Gruß

Chonta
Bitte warten ..
Mitglied: Gansterjo2
08.07.2014 um 13:38 Uhr
Hallo zusammen

Ich habe das File smb.conf folgendermassen angepasst:

01.
[homes] 
02.
        comment = Home Directories 
03.
        valid users = [Voller Domänenname]\[Gruppenname] 
04.
        browseable = No 
05.
        read only = No 
06.
        inherit acls = Yes
Zusätzlich führte ich den Befehl 'chown root:[Gruppenname] test.txt' durch. Das test.txt befand sich im Home-Verzeichnis des Roots.
Hier erschien die Meldung 'chown: invalid group: `root:[Gruppenname]'

Vielleicht hilft auch ein Ausschnitt aus dem pam_winbind.conf

01.
[global] 
02.
        cached_login = yes 
03.
        krb5_auth = yes 
04.
        krb5_ccache_type = FILE 
05.
 
06.
# turn on debugging 
07.
;debug = no 
08.
 
09.
# turn on extended PAM state debugging 
10.
;debug_state = no 
11.
 
12.
# request a cached login if possible 
13.
# (needs "winbind offline logon = yes" in smb.conf) 
14.
;cached_login = no 
15.
 
16.
# authenticate using kerberos 
17.
;krb5_auth = no 
18.
 
19.
# when using kerberos, request a "FILE" krb5 credential cache type 
20.
# (leave empty to just do krb5 authentication but not have a ticket 
21.
# afterwards) 
22.
;krb5_ccache_type = 
23.
 
24.
# make successful authentication dependend on membership of one SID 
25.
# (can also take a name) 
26.
require_membership_of = [Gruppenname] 
27.
 
28.
# password expiry warning period in days 
29.
;warn_pwd_expire = 14 
30.
 
31.
# omit pam conversations 
32.
;silent = no 
33.
 
34.
# create homedirectory on the fly 
35.
;mkhomedir = no 
36.
 
Gruss Gansterjo2
Bitte warten ..
Mitglied: Chonta
LÖSUNG 08.07.2014, aktualisiert 09.07.2014
Hallo,

welche Gruppe hast Du versucht beim chown? Nur die spezielle oder die domänen-admins.
Wenn die Domänenadmins gehen, dann reichen evtl die gepappten IDs nicht aus undmüssen erhöht werden.
Wenn keine domänengruppe auf Linuxebene aufgelöst werden kann, leigt es an dem uralt samba das du verwendest. 3.6.6 sollte gehen.
Geht bei mir in Verbindung mit 2012R2 DC.
Anpassungen für die Konfiguration gibt es hier einige im Forum.


browseable = No ist kontraproduktiv, wenn du für die Benutzer kiene Homeverzeichnisse willst, kommentiere die Freigabe als ganzes aus oder lösche diese Freigabe.

Gruß

Chonta
Bitte warten ..
Mitglied: Gansterjo2
08.07.2014 um 14:42 Uhr
Hallo Chonta

Beim Befehl 'chown' verwendete ich eine Gruppe die es gar nicht gibt -.-

Was mich aber trotzdem erstaunt ist, dass obwohl eine falsche Gruppe in dem Pam-winbind Konfigurationsfile angegeben wurde, sich einfach 'fremde' benutzer anmelden können... Aus diesem Grund stellte ich die Frage, denn ich wollte das Problem beheben...

Gruss Gansterjo2
Bitte warten ..
Mitglied: Gansterjo2
08.07.2014 um 14:53 Uhr
Hallo Zusammen

Lösung 1

Damit das Zusammenspiel von Linux-Server und Windows-AD funktioniert muss im PAM-Winbind Konfiguraitonsfile eine AD-Gruppe eingetragen werden, die existiert. Dann funktioniert Samba einwandfrei.

Es besteht aber immer noch die Frage, warum der Zugriff bei einer in der Windows-AD nicht vorhandenen Gruppe trotzdem den Zugriff zum Server zulässt.


Freundliche Grüsse

Gansterjo2
Bitte warten ..
Mitglied: Chonta
LÖSUNG 08.07.2014, aktualisiert 09.07.2014
Hallo,

das tu den Test mit einer Gruppe machst die nicht funktionieren kann ist natürlich kontraproduktiv.
Du musst natürlich eine echte Gruppe verwenden die auch klappen kann um festzustellen, ob das Linuxsystem überhapt mit den AD Gruppen umgehen kann, nur dann weist Du ob der Server wirklich in der Domäne ist oder nur halb halb= winbind kennt alles aber Linux kann mit AD Benutzern oder Gruppen nichts anfangen.

Ein Samba Server benimmt sich bei den Freigaben genauso wie ein Windowsrechner. Wenn man \\servername benutzt werden einem alle Freigaben angezeigt.
Wenn nun kein Zugriff verweigert beim Zugriff kommt, dann haut was mit deiner Konfiguration nicht hin oder das Mapping haut nicht hin.
Zum einen mit einer echten Gruppe das chown testen zum andern den Adressbereich für das Mappen ändern.
Der Bereich in dem Gemapt wird muss groß sein und die ID dürfen sich nicht mit LinuxuserIDs überschneiden, also schau nach in welchem Bereich dein Server mit useradd BenutzerID vergibt, der Mappingbereich muss höher sein!

valid users = [Voller Domänenname]\[Gruppenname]
So habe ich das nicht geschrieben, also bitte ändern in die von mir verwendete Schreibweise.

Hier eine smb.conf für AD und ein smbd 3.6.6

01.
[global] 
02.
 
03.
#####neu 
04.
bind interfaces only = yes 
05.
interfaces = IP/24 
06.
workgroup = DOMAIN 
07.
realm = domain.local 
08.
security = ADS 
09.
winbind refresh tickets = Yes 
10.
#winbind separator = \ 
11.
idmap config * : backend = rid 
12.
idmap config * : range = 100000-1000000000 
13.
idmap config * : base_rid = 0 
14.
 
15.
template shell = /bin/bash 
16.
winbind use default domain = Yes 
17.
#winbind enum users = Yes 
18.
#winbind enum groups = Yes 
19.
winbind nested groups = Yes 
20.
winbind expand groups = 10 
21.
client use spnego = yes 
22.
client use spnego principal = no 
23.
send spnego principal = no 
24.
encrypt passwords = true 
25.
nt acl support = yes 
26.
follow symlinks = yes 
27.
wide links = yes 
28.
unix extensions = no 
29.
printing = cups 
30.
printcap name = cups 
31.
load printers = yes 
32.
smb ports = 445 
33.
max protocol = SMB2
Vorteil du kannst die auf jedem Server verwenden und die ID sind überall gleich.
Deine Version funktioniert nur auf diesem einen Server, Daten die von dem Server zu einem anderen Server ausgetauscht werden und die ID mit übertragen haben dann auf dem anderen Server mitunter neue besitzer und Zugriffsrechte.

Hier für 3.5.6 (Unterscheidet sich von 3.6.6)
01.
[global] 
02.
  
03.
workgroup = DOMAIN 
04.
realm = domain.local 
05.
security = ADS 
06.
winbind refresh tickets = Yes 
07.
idmap backend = idmap_rid:FLF=0-1000000000 
08.
idmap uid = 100000-100000000 
09.
idmap gid = 100000-100000000 
10.
template shell = /bin/false 
11.
winbind use default domain = Yes 
12.
#winbind enum users = Yes 
13.
#winbind enum groups = Yes 
14.
winbind nested groups = Yes 
15.
winbind expand groups = 10 
16.
client use spnego = yes 
17.
encrypt passwords = yes 
18.
#nt acl support = yes 
19.
follow symlinks = yes 
20.
wide links = yes 
21.
unix extensions = no 
22.
load printers = no 
23.
smb ports = 445
Evtl brauchst Du Anstelle 445 den Port 139.

Gruß

Chonta

PS: Die einzigen Datien die ich bei Sambaeinrichtung angefasst habe und musste sind /etc/hosts (bei .local Windowsdomains) /etc/nsswitch (passwd und group auf copmpat windbind) und die smb.conf Debiansysteme allerdings.
Bitte warten ..
Mitglied: Gansterjo2
08.07.2014 um 15:56 Uhr
Hallo,

Vielen Dank für die schnelle Antwort.... ich werde diese morgen ausprobieren und dementsprechend ein Feedback geben...

Gruss

Gansterjo2
Bitte warten ..
Mitglied: Gansterjo2
09.07.2014 um 07:42 Uhr
Guten Morgen Chonta

Das File smb.conf sieht nun folgendermassen aus:
01.
[global] 
02.
        workgroup = DOMAIN 
03.
        passdb backend = tdbsam 
04.
        printing = cups 
05.
        printcap name = cups 
06.
        printcap cache time = 750 
07.
        cups options = raw 
08.
        map to guest = Bad User 
09.
        include = /etc/samba/dhcp.conf 
10.
        logon path = \\%L\profiles\.msprofile 
11.
        logon home = \\%L\%U\.9xprofile 
12.
        logon drive = P: 
13.
        usershare allow guests = No 
14.
        idmap gid = 10000-20000 
15.
        idmap uid = 10000-20000 
16.
        security = ADS 
17.
        realm = DOMAIN.LOCAL 
18.
        template homedir = /home/%D/%U 
19.
        template shell = /bin/bash 
20.
        winbind offline logon = Yes 
21.
        winbind refresh tickets = Yes 
22.
        winbind use default domain = Yes 
23.
        winbind nested groups = Yes 
24.
        winbind expand groups = 10 
25.
        encrypt password = Yes 
26.
        client use spnego = Yes 
27.
        unix extensions = No 
28.
        load printers = No 
29.
        smb ports = 139 
30.
[homes] 
31.
        comment = Home Directories 
32.
        valid users = @"DOMAIN.LOCAL\gruppe-test" 
33.
        browseable = Yes 
34.
        read only = No 
35.
        inherit acls = Yes 
36.
[profiles] 
37.
        comment = Network Profiles Service 
38.
        path = %H 
39.
        read only = No 
40.
        store dos attributes = Yes 
41.
        create mask = 0600 
42.
        directory mask = 0700 
43.
[users] 
44.
        comment = All users 
45.
        path = /home 
46.
        read only = No 
47.
        inherit acls = Yes 
48.
        veto files = /aquota.user/groups/shares/ 
49.
[groups] 
50.
        comment = All groups 
51.
        path = /home/groups 
52.
        read only = No 
53.
        inherit acls = Yes 
54.
[printers] 
55.
        comment = All Printers 
56.
        path = /var/tmp 
57.
        printable = Yes 
58.
        create mask = 0600 
59.
        browseable = Yes 
60.
[print$] 
61.
        comment = Printer Drivers 
62.
        path = /var/lib/samba/drivers 
63.
        write list = @ntadmin root 
64.
        force group = ntadmin 
65.
        create mask = 0664 
66.
        directory mask = 0775
In der Hosts-Datei hab ich auf dem Server nichts geändert und in der Datei nsswitch.conf waren die Anpassungen schon automatisch vom System eingetragen.

Mit dem Befehl 'chown root:gruppe-test text.txt' erscheint immer wieder die Meldung 'chown:invalid group: `gruppe-test'.

Gruss Gansterjo2
Bitte warten ..
Mitglied: Chonta
09.07.2014 um 09:26 Uhr
Ok,

invalid = Linux kennt die Gruppe nicht.

Die Frage geht überhaupt eine Gruppe oder ein Domänenbenutzer oder nicht?
Wenn einige gehen, dann ist für dein idmap (beide) die Range zu klein.
Wenn keine geht, dann bist Du der Domäne noch nicht sauber beigetreten.
Du solltest in der /etc/hosts die IP und die namen (fqdn und netbios) aller DCs hinterlegen.

Offt braucht ein Samba auch einen kompletten Server-neustart und dann geht es.

Da Du 2008 R2 DC im einsatz hast, empfehle ich Dir dringend Samba 3.6.6 zu verwenden und die Konfig nach meinem Beispiel zu verwenden, dann klapts auch.
Ich hatte mit Server 2012R2 DC und Samba < 3.6.6 Probleme.

Gruß

Chonta
Bitte warten ..
Mitglied: Gansterjo2
09.07.2014 um 09:46 Uhr
Hallo Chonta

Danke für die schnelle Antwort.

Ich kann mich mit einem AD-Benutzer beim Server authentifizieren. Ich habe die Gruppen gestern abend richtig eingetragen...

Es stellt sich bei mir immer noch die Frage, weshalb sich die Benutzer am Server authentifizieren können, obwohl eine falsche Gruppe hinterlegt ist.

Gruss Gansterjo2
Bitte warten ..
Mitglied: Chonta
LÖSUNG 09.07.2014, aktualisiert um 14:31 Uhr
Hallo,

das authentifizieren geht für jdenden Benutzer ab dem Moment wo der Server Domänenmemmberist.
In den Freigaben und im Dateisystem kannst Du aber steuern ob der Zugriff auf eine Freigabe erlaubt ist oder nicht.


Wenn ssh nicht weiter abgesichert ist, kann sich bei der Einstellung emplate shell = /bin/bash auch jeder Domänenbenutzer per SSH mit seinem Benutzernamen und Passwort am Server anmelden.

Wenn bei valid users murks hinterlegt ist, dann greift das nicht.
Wenn Du wirklich eine .local domäne hast, dann muss die /etc/hosts noch angepasst werden.

Wenn Du über die Freigabeneinstellung und valid user nicht weiter kommst, könntest Du, wenn es denn funktionierne würde, einfach die Dateisystemrechte setzen, das other keinen Zugriff ahd das Verzeichniss hat und nur die eine Gruppe und root volle Rechte auf den Freigegebenen Ordner haben, dann bekommen alle die nicht aufgelößt werden können zugriff verweigert, weil das Dateisystem sagt "Du nicht!"

Damit die Gruppenmitgleidschaften aufgelöst werden (bei vershachtelten Gruppen) ist

winbind nested groups = Yes
winbind expand groups = 10

wichtig.

Gruß

Chonta
Bitte warten ..
Mitglied: Gansterjo2
09.07.2014 um 11:23 Uhr
Hallo Chonta

Ok, demfall ist der Server im Falle einer ungültigen Gruppe für alle zugänglich.

Vielen Dank für deine Hilfe.

PS: es ist keine .local Domäne.

Gruss Gansterjo2
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Windows Netzwerk
Lokale Anmeldung an Server zulassen trotz GPO mit lokalem Benutzer (2)

Frage von jochenmuell zum Thema Windows Netzwerk ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Windows Userverwaltung
Anzeigen ob AD Benutzer ein Kennwort hat (2)

Frage von manuelw zum Thema Windows Userverwaltung ...

Windows 7
AD-Benutzer einer Lokalen Gruppe hinzufügen(16Bit OU) (3)

Frage von WIZARDBOY zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (10)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...