Hier verwende ich Samba (Filesharing-Dienst) v4.9.1 + OPENldap (Backend-Datenbanksoftware) v2.4.44 + smbldap-tools (Backend-Datenbankverwaltungssoftware) v0.9.11 + CentOS7. Wenn ein Unterschied besteht, liegt möglicherweise ein Teilproblem vor. Notiz:
Erstkonfiguration Das Yum-Repository und die Netzwerkkonfiguration werden weggelassen. yum -y installiere Samba, OpenLDAP-Server, OpenLDAP-Clients, Smbldap-Tools, NSS-PAM-LDAPD OPENldap-Dienst konfigurieren Hier führen wir nur eine einfache Dienstkonfiguration durch. Die Datenbankkonfiguration wird mit smbldap-tools konfiguriert. Wenn Sie OPENldap nicht kennen, können Sie diesen Artikel lesen: „OPENLDAP-Dienstaufbau und Post-Management“ Löschen Sie hier alle OPENldap-Konfigurationen und konfigurieren Sie sie neu. # Sichern Sie zuerst die Datei, falls sie nicht wiederhergestellt werden kann. mkdir /root/back tar -Jcvf /root/back/slapd.config-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /etc/openldap/slapd.d/ tar -Jcvf /root/back/slapd.data-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /var/lib/ldap/ # Löschen Sie anschließend die Konfigurationsdatei rm -rf /etc/openldap/slapd.d/* rm -rf /var/lib/ldap/* # Kopieren Sie eine Samba-Schemadatei cp /usr/share/doc/samba-4.9.1/LDAP/samba.ldif /etc/openldap/schema/ Ich habe die Konfigurationsdatei hier von # Datei: /tmp/slapd.ldif dn:cn=Konfiguration Objektklasse: olcGlobal cn: Konfiguration olcArgsFile: /var/run/openldap/slapd.args olcPid-Datei: /var/run/openldap/slapd.pid dn: cn=schema,cn=config Objektklasse: olcSchemaConfig cn: Schema include: file:///etc/openldap/schema/core.ldif include: file:///etc/openldap/schema/cosine.ldif include: file:///etc/openldap/schema/nis.ldif include: file:///etc/openldap/schema/inetorgperson.ldif include: file:///etc/openldap/schema/samba.ldif dn:olcDatabase=frontend,cn=config Objektklasse: olcDatabaseConfig Objektklasse: olcFrontendConfig olcDatabase:frontend dn: olcDatabase=Konfiguration,cn=Konfiguration Objektklasse: olcDatabaseConfig olcDatabase:config olcAccess: auf * durch dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" verwalten von * keine dn:olcDatabase=monitor,cn=config Objektklasse: olcDatabaseConfig olcDatabase: Monitor olcAccess: auf * von dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" gelesen von dn.base="cn=Manager,dc=black,dc=com" gelesen von * keine dn:olcDatabase=hdb,cn=config Objektklasse: olcDatabaseConfig Objektklasse: olcHdbConfig olcDatenbank: hdb olcSuffix: dc=schwarz,dc=com olcRootDN: cn=Manager,dc=schwarz,dc=com olcRootPW: {SSHA}l1vBI/HOMKLEiQZgcm3Co+hFQI68rH1Q olcDbVerzeichnis: /var/lib/ldap olcDbIndex: Objektklasse eq,pres olcDbIndex: ou,cn,mail,Nachname,Vorname eq,pres,sub,uid Generieren Sie Serverkonfigurationsdateien basierend auf der Konfiguration slapadd -F "/etc/openldap/slapd.d/" -b "cn=config" -l /tmp/slapd.ldif # Beachten Sie, dass der Dateibesitzer immer noch root ist, Sie müssen ihn also wieder auf openldap ändern chown -R ldap:ldap /etc/openldap/slapd.d/* # Starten Sie dann den Dienst systemctl start slapd _######################## 100,00 % eta, keines verstrichen, keines schnell! Hinweis: Hier wird nur der Servicekonfigurationsteil von OPENldap konfiguriert, die Datenbank von OPENldap wird nicht konfiguriert. Folgendes möchte ich noch einmal betonen. Samba konfigurieren Hier möchten wir nur die Verwendung von Samba und OPENldap testen, daher werden wir keine komplizierten Konfigurationen für die Dateifreigabe vornehmen. Wir werden zum Testen nur das Home-Verzeichnis eines Benutzers freigeben. # Datei: /etc/samba/smb.conf [global] Arbeitsgruppe = MYGROUP #Geben Sie den Namen der freigegebenen Gruppe an. Serverzeichenfolge = Samba-Serverversion %v log file = /var/log/samba/log # Log security = user # Geben Sie die Sicherheitsstufe als „Benutzer“ an passdb backend = ldapsam:ldap://127.0.0.1 # Geben Sie die Backend-Datenbank von passdb an, die ldapsam verwenden soll ldap suffix = dc=black,dc=com # Geben Sie das Suffix von ldap an ldap-Benutzersuffix = ou=People #Geben Sie das Suffixsegment des Benutzers ou=People an. Dies wird mit dem vorherigen Suffix kombiniert. LDAP-Gruppensuffix = ou=Gruppe # Wie oben, gibt die Benutzergruppe an. ldap admin dn = cn=Manager,dc=black,dc=com # Geben Sie den Administratorbenutzer an, der zum Abfragen des LDAP-Dienstes verwendet wird. ldap ssl = no # Geben Sie an, dass keine SSL-Verschlüsselung verwendet werden soll. Drucker laden = nein #Gibt an, dass gemeinsam genutzte Drucker nicht geladen werden sollen. [Häuser] Kommentar = Home-Verzeichnisse durchsuchbar = nein beschreibbar = ja Maske erstellen = 0600 Verzeichnismaske = 700 smbpasswd -w 123456 # Speichern Sie das Benutzerkennwort, das für die Verbindung mit dem LDAP-Dienst verwendet wird! ! ! Dies ist sehr wichtig, da der SMB-Dienst sonst nicht gestartet werden kann. Starten Sie den Samba-Dienst systemctl start nmb systemctl starte smb smbldap-tools-Konfiguration Hier verwenden wir smbldap-tools, um die vom Samba-Dienst benötigten Dateninformationen schnell zu vervollständigen, und verwenden smblda-tools, um Benutzersegmente zu verwalten. Ein Nachteil von smbldap-tools besteht jedoch darin, dass es keine Rolle spielt, ob Ihre lokalen Benutzer dieselbe UID oder GID haben. Es können Konflikte auftreten. Seien Sie sich dessen also bitte bewusst. smbldap liest einige Informationen aus /etc/samba/smb.conf, daher müssen Sie zuerst Samba und dann den Dienst smbldap-tools konfigurieren. smbldap-config # Konfigurieren Sie die Konfiguration von smbldap-tools. Hier wird smbldap-conifg für die einfache Konfiguration verwendet. Der folgende Konfigurationsprozess wird hier ausgelassen. Wenn Sie es nicht wissen, ist die Standardeinstellung in Ordnung. smbldap-populate # Initialisiert die Konfiguration der OPENldap-Datenbank. Legen Sie hier einen weiteren Benutzer für spätere Tests an. smbldap-useradd -a -m User1 # Benutzer hinzufügen User2 # -a: Gibt an, dass der hinzugefügte Benutzertyp Windows ist, damit Samba den Benutzer erkennen kann. # -m: Gibt an, dass das Home-Verzeichnis des Benutzers erstellt werden soll. smbldap-passwd User1 #Ändern Sie das Passwort des Benutzers Der Vorgang zur Passwortänderung für diesen Benutzer entfällt hierbei. Auf diese Weise ist die Datenbankinitialisierung von OPENldap abgeschlossen und Sie können jetzt den Inhalt in OPENldap abfragen. Wie in der folgenden Abbildung gezeigt, ist dies der von In der Abbildung sehen wir Benutzer mit UID = root und nobody. Ich möchte nicht, dass sich diese speziellen Benutzer beim Server anmelden, daher werde ich in der folgenden Konfiguration diese beiden Benutzer durch Filter herausfiltern. NSS-Konfiguration Hier muss hauptsächlich die NSS-Konfiguration konfiguriert werden. NSS leitet LDAP-Anforderungen an nslcd weiter und nslcd fragt die Benutzerinformationen in OPENldap ab. Konfigurieren Sie zunächst NSS. Fügen Sie einfach die LDAP-Authentifizierung zu den Abschnitten „Passwort“ und „Gruppe“ hinzu. # Datei: /etc/nsswitch.conf passwd: Dateien ldap Schatten: Dateien Gruppe: Dateien LDAP Hosts: Dateien DNS MeinHostname Bootparams: nisplus [NOTFOUND=return] Dateien Ether: Dateien Netzmasken: Dateien Netzwerke: Dateien Protokolle: Dateien rpc: Dateien Dienste: Dateien sss Netzgruppe: nisplus sss öffentlicher Schlüssel: nisplus Automount: Dateien Nisplus SSS Aliase: Dateien nisplus Konfigurieren Sie dann nslcd. Beachten Sie, dass nslcd als Daemon ausgeführt wird und nach der Konfiguration neu gestartet werden muss. # Datei:/etc/nslcd.conf UID-NSLCD gid ldap uri ldap://127.0.0.1/ # LDAP-URL-Adresse base dc=black,dc=com # Basis-DN-Pfad binddn cn=Manager,dc=black,dc=com # Geben Sie den verbundenen Benutzer an bindpw 123456 # Geben Sie das Passwort an ssl no # Geben Sie an, dass keine SSL-verschlüsselte Verbindung verwendet werden soll. filter passwd (&(objectClass=posixAccount)(uidNumber>=1000)) # Schreiben Sie die Filterregeln für passwd. Filtergruppe (&(objectClass=posixGroup)(gidNumber>=500)) # Wie oben, Gruppe wird geschrieben Kopie chmod 600 /etc/nslcd.conf # Die Berechtigungen der Konfigurationsdatei sind sehr wichtig, da der Dienst sonst nicht gestartet werden kann. systemctl start nslcd # Starten Sie den nslcd-Dienst. Wir testen, ob folgende NSS-Konfiguration verfügbar ist getent passwd User1 Benutzer1:*:1001:513:Systembenutzer:/var/smb/Benutzer1:/bin/bash Wie oben zu sehen ist, sind die von uns konfigurierten NSS- und OPENldap-Dienste wirksam geworden. Fahren wir nun mit der Konfiguration von Samba fort, um es verfügbar zu machen. Samba-Berechtigungskonfiguration Wenn Sie genau hinschauen, werden Sie feststellen, dass ich den Speicherort des Benutzer-Home-Verzeichnisses in # Das Home-Verzeichnis des Benutzers wurde oben durch den Befehl smbldap-useradd erstellt. # Jetzt können Sie SELinux direkt konfigurieren. semanage fcontext -a -t samba_share_t '/var/smb(/.*)?' # Den Standardtyp des Pfads /var/smb ändern. Hier verwende ich den Typ, der von Samba Sharing verwendet wird. SELinux erlaubt standardmäßig den Zugriff auf diesen Typ. # Wenn Sie möchten, dass Samba auf /home zugreift, sollten Sie den booleschen Wert samba_enable_home_dirs aktivieren. # Aber hier verwende ich den Typ samba_share_t, daher muss kein Bool-Wert aktiviert werden, sodass Samba nur auf /var/smb und andere von Samba benötigte Dateien zugreifen kann. restorecon -R /var/smb/ # Dann setzen wir den SELinux-Typ unter dem Verzeichnis /var/smb zurück. Kopie # Hier können wir Samba testen smbclient -L //127.0.0.1/ -U User1 Hier sehen wir, dass sich Benutzer1 bereits anmelden und das freigegebene Verzeichnis abfragen kann. Anschließend loggen wir uns direkt hier ein und laden einige Dateien hoch um ein paar Tests durchzuführen:
Zusammenfassen Oben finden Sie eine ausführliche Erklärung zum Erstellen eines File-Sharing-Servers mit Samba + OPENldap. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten! Das könnte Sie auch interessieren:
|
<<: Zusammenfassung der Verwendung von Element-Formularelementen
Heute habe ich auf der Blog-Site shoptalkshow ges...
Hintergrund: Machen Sie jeden Tag ein wenig Forts...
Code kopieren Der Code lautet wie folgt: <styl...
Inhaltsverzeichnis 1. Lokalen Speicher erstellen ...
Oftmals werden Sie auf einen <a>-Tag-Stil s...
Inhaltsverzeichnis Konfiguration NFS-Server (nfs....
Inhaltsverzeichnis Fügen Sie dem GitHub+Jekyll-Bl...
Wenn Sie Docker für die Entwicklung im großen Maß...
Inhaltsverzeichnis ReactRouterV6-Änderungen 1. &l...
Arbeitsmodus von vim einstellen (vorübergehend) :...
Inhaltsverzeichnis MySQL Inner Join, Left Join, R...
Wenn bei der tatsächlichen Projektentwicklung die...
Erstens: Installation von MySQL Laden Sie die MyS...
Der Kern ist mysqldump und Runtime Der Vorgang is...
Verwenden Sie Leinwand, um eine bunte Uhr zu schr...