Samba mit PAM/NIS authentication

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
sys_op
Beiträge: 672
Registriert: 17.09.2007 19:10:47
Lizenz eigener Beiträge: GNU General Public License

Samba mit PAM/NIS authentication

Beitrag von sys_op » 10.03.2015 12:17:18

Liebe Kollegen

Ich habe hier einen Fileserver, an dem sich die User über einen NIS-Server authentifizieren (wir sind ca 15 Leute). Auf diesem Fileserver ist nun ein Gruppenverzeichnis, zu dem natürlich nur User einer festgelegten Gruppe Zugang haben sollen, soweit so gut. Über SSH b.z.w SFTP klappt das alles wunderbar, meine "Linuxer" können sich anmelden und wie gewünscht arbeiten.

Nun kommen natürlich die Apple und Windows-User und wollen auch Zugriff, und da gehen nun die Probleme für mich los. SFTP scheint auf Apple eine echte Krücke zu sein, Windows würde mit WinSCP auch nur halbwegs funktionieren.

Folglich muss wohl Samba her:
Ich suche schon den ganzen Tag nach einer Anleitung b.z.w. einem Howto, wie ich Samba konfigurieren muss, um eine Anmeldung über PAM/NIS zu realisieren und die User und Gruppenrechte zu übernehmen.

Frage 1
Geht meine Überlegung überhaupt, oder muss ich mich mit Active Directory auseinander setzen

Frage 2
Kennt jemand ein Howto, eine Anleitung, wo ich mich mit dem Thema etwas genauer auseinandersetzen kann.

Alles was ich finden kann, sind Anleitungen "Samba und LDAP, Samba als Domaincontroller, Samba mit Active Directory" etc.
Ich möchte eigentlich keinen Domaincontroller und keine Active-Directorys einrichten, sondern schlicht Samba dazu bewegen, die Authentifizierung über PAM oder NIS zu machen und die User und Gruppenrechte für den angemeldeten User zu übernehmen.

Help please

PS
OS=Debian Jessie
Samba=4.1.13-Debian
gruss sys;-)

Benutzeravatar
Six
Beiträge: 8066
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Samba mit PAM/NIS authentication

Beitrag von Six » 12.03.2015 07:32:50

Das ist einfacher als du denkst, deswegen findest du auch nur übertriebene Anleitungen ;) Samba kann sich nämlich direkt an die UNIX-Berechtigungen hängen, die du über NIS schon definiert hast.

Nehmen wir an, du hast eine Freigabe "foo", auf die nur User in der UNIX-Gruppe "bla" zugreifen können sollen:

Code: Alles auswählen

[foo]
path = /my_shared_folder
comment = Some random files
valid users = @bla
Damit ist das erledigt. Der Samba-Server kann so auch ruhig als Standalone laufen. Das "@" sagt Samba, dass das eine NIS-Gruppe ist.

Nützlich könnte sein, die Share-Definition wie folgt zu erweitern:

Code: Alles auswählen

[foo]
path = /my_shared_folder
comment = Some random files
valid users = @bla
force group = bla
create mode = 0660
directory mode = 0770
So haben immer alle Gruppenmitglieder Zugriff auf alle Dateien und Verzeichnisse, die andere User erstellen.

So können sich deine Win-User ganz normal am Share anmelden. Beim Määäc weiß ich es nicht, aber da seit 10.10 die Dinger ja endlich nett mit SMB spielen, erwarte ich da keinen Ärger.
Be seeing you!

Benutzeravatar
sys_op
Beiträge: 672
Registriert: 17.09.2007 19:10:47
Lizenz eigener Beiträge: GNU General Public License

Re: Samba mit PAM/NIS authentication

Beitrag von sys_op » 12.03.2015 10:39:13

Hallo

Danke für die Antwort.

Eine kurze Frage noch zur global-sction, die ich so einfach wie möglich halten möchte.
Ich hatte gelesen, dass encrypt passwords = No und obey pam restrictions = yes gesetzt werden muss.
Derzeit sieht das wie unten aus.

Muss ich die User alle über smbpasswd anlegen, oder kann ich das irgendwie regeln, dass die Unix-Anmeldedaten für die User verwendet werden.

Sorry, wenn ich dich jetzt so mit Beschlag belege, aber ich hänge hier nun schon seit 2 Tagen drann.

Code: Alles auswählen

[global]

   workgroup = AB
   dns proxy = no
;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes

   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d

   server role = standalone server
   passdb backend = tdbsam
#   encrypt passwords = No
#   obey pam restrictions = yes
   unix password sync = no 
   pam password change = no

   map to guest = bad user
   usershare allow guests = yes


[export]
    comment = Fileserver
    path = /export/data/ab
    valid users = @ab
    force group = ab   
    create mode = 0770  
    directory mode = 0770

PS
Hmmm. Ich komme zunächst mal in die Verzeichnisse, was ja schon mal sehr schön ist, aber ich kann über Samba keine Dateien/Verzeichnisse erstellen (Keine Berechtigung).

Mein User ist am NIS angelegt (ssh b.z.w sftp klappt super), habe den Uaser über

Code: Alles auswählen

smbpasswd -a USER 
hinzugefügt, Anmeldung klappt, Dateien/Verzeichnisse anlegen klappt leider nicht..

Der Ordner /export/data/ab hat folgende Rechte:

Code: Alles auswählen

drwxrws--- 5 root ab   4096 Mär  9 12:40 ab
gruss sys;-)

Benutzeravatar
Six
Beiträge: 8066
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Samba mit PAM/NIS authentication

Beitrag von Six » 13.03.2015 10:49:32

Hi,

bzgl. der Schreibrechte füge zum Share die Direktive

Code: Alles auswählen

writeable = yes
hinzu. Ich meine zwar, das wäre default, aber vielleicht hat sich das mit Samba4 geändert oder ich bin mal wieder schuselig.

Bzgl. der Userdaten. Ich vermute, man kann in Samba NIS als Backend definieren, aber gemacht habe ich das noch nie (wer benutzt denn noch NIS ;)) Recht einfach lässt sich aber herbeiführen, dass Linux und Samba Passwörter abgeglichen werden.

Code: Alles auswählen

unix password sync = yes
pam password change = yes
passwd program = /usr/bin/passwd %u
passwd chat = *new*password* %n\n *new*password* %n\n *updated*
Alternativ gibt es noch die Möglichkeit, die Userverwaltung komplett an Samba zu übergeben, indem man PAM so konfiguriert, dass die Samba-User-DB als authentication provider benutzt wird. Dazu prüfe erst mal mit

Code: Alles auswählen

smbd -b | grep WITH_PAM
ob dein Samba das kann. Ergibt das einen Treffer, dann gucke in /lib/security, ob da ein pam_smbpass.so rumliegt. Wenn nicht, muss die entsprechende Bibliothek nachinstalliert werden (in Debian vermutlich libpam-smbpass oder so,) Ist das gegeben, dann sind wir im grünen Bereich.

Nun in /etc/pam.d/common-passwords (oder war es login?) Lese das unbedingt nach, bevor du hier was änderst, sonst zerschießt du dir das ganze System.

Code: Alles auswählen

auth        required    pam_smbpass.so nodelay
account     required    pam_smbpass.so nodelay
session     required    pam_smbpass.so nodelay
password    required    pam_smbpass.so nodelay
Siehe auch das Samba-Handbuch zum Thema: https://www.samba.org/samba/docs/man/Sa ... n/pam.html
Be seeing you!

Benutzeravatar
sys_op
Beiträge: 672
Registriert: 17.09.2007 19:10:47
Lizenz eigener Beiträge: GNU General Public License

Re: Samba mit PAM/NIS authentication

Beitrag von sys_op » 18.03.2015 14:05:35

Hallo, spät aber doch

Erst mal Danke für die Hilfe.

Ich habe nun meine Freigaben entsprechend angepasst und es klappt alles soweit. Sollte mal jemand nach einer Lösung suchen, die Schreibrechte konnte ich mit folgenden Einträgen entsprechend setzen:

Code: Alles auswählen

    comment = Fileserver Group-Directory AB
    path = /export/data/ab
    valid users = @ab
    write list = @ab
    force group = ab
    create mode = 0770
    directory mode = 0770
    inherit permissions = yes
Worüber ich ein bisschen verwundert bin, ist die Tatsache, dass Samba offenbar über keine Möglichkeit verfügt, User auf Grund ihrer Linux-User Anlage zu authentifizieren (in meinem Fall natürlich über NIS), also nach dem Motto, wer ssh kann, kann auch samba. Ich konnte nichts (aber auch gar nichts) hilfreiches dazu finden.

Ich muss also offenbar alle User noch einmal in einer eigenen tbsam-Datenbank anlegen. Da das nur für die OSX und Windows-User notwendig ist, ist der Aufwand zu verschmerzen. 95% der User arbeiten mit Linux :THX:
Six hat geschrieben:.... (wer benutzt denn noch NIS ;)....
Ohne das rechtfertigen zu wollen. :mrgreen:
Der Server existiert schon seit einigen Jahren und für uns paar "Männlein" finde ich es überdimensioniert auf LDAP umzustellen.
Hin und wieder soll ein Server auch mal nur kurzfristig in die NIS-Domain aufgenommen werden, damit sich die Leute dort anmelden und ihre Arbeiten verrichten können. NIS ist da ebenso hilfreich wie auch simpel, weil schnell entsprechend konfiguriert. Ich brauche selten länger als 5-10 Minuten um einen Server in die NIS-Domain aufzunehmen und ich verliere vor allem die User nicht, die bereits auf dem betreffenden Server angelegt sind.

Der eigentliche Grund aber ist unser Rocks-Cluster, der zwar wichtigen Zugriffs-Beschränkungen unterliegt, den ich aber nie zu einer problemlosen Zusammenarbeit mit LDAP überreden konnte. Also wurde kurzer Hand der Cluster-Head zum NIS-Server gemacht.
gruss sys;-)

Antworten