Im letzten Tutorial habe ich Ihnen gezeigt, wie Sie Samba auf Centos 7 konfigurieren, indem Sie Samba aus dem Quellcode kompilieren, da das von RedHat bereitgestellte Paket Active Directory nicht unterstützt. Mir ist aufgefallen, dass es ein Repository namens Wing gibt, das die Samba4-RPM mit AD-Unterstützung versorgt. In diesem Tutorial werde ich dieses Repository für die Samba-Installation verwenden. Ich werde auch zeigen, wie man eine Samba-Freigabe erstellt.
In diesem Tutorial verwende ich einen CentOS 7-Server mit einer minimalen Installation als Basis mit aktiviertem SELinux.
Bereiten Sie den CentOS 7-Server vor
Überprüfen Sie den SELinux-Status.
[[email protected] ~]# sestatusSELinux-Status:aktiviertSELinuxfs-Mount:/sys/fs/selinuxSELinux-Stammverzeichnis:/etc/selinuxGeladener Richtlinienname:targetedAktueller Modus:enforcingMode aus Konfigurationsdatei:enforcingPolicy MLS-Status:enabledPolicy deny_unknown Status:AllowedMax Kernel-Richtlinienversion:28[[email protected] ~]#
Machen Sie einen Eintrag in der Hostdatei mit der Server-IP-Adresse, gefolgt vom vollständigen (fqdn) Hostnamen und dann dem lokalen Teil des Hostnamens.
[[email protected] ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.1.190 samba4.sunil.cc samba4[ [E-Mail-geschützt] ~]#
Installieren Sie das Epel CentOS-Repository.
[[email protected] ~]# yum install epel-release -y
Installieren Sie die Basispakete.
[[email protected] ~]# yum install vim wget authconfig krb5-workstation -y
Installieren Sie nun das Wing Repo.
[[email protected] ~]# cd /etc/yum.repos.d/[[email protected] yum.repos.d]# wget http://wing-net.ddo.jp/wing/7/ EL7.wing.repo[[E-Mail-geschützt] yum.repos.d]# sed -i '[E-Mail-geschützt][E-Mail-geschützt][E-Mail-geschützt]' /etc/yum.repos.d/EL7.wing.repo[[ email protected] yum.repos.d]# yum clean allLoaded plugins:fastestmirrorCleaning repos:base extras updates wing wing-sourceAlles aufräumenListe der schnellsten Mirrors aufräumen[[email protected] yum.repos.d]#
Installieren Sie Samba 4 auf CentOS 7
Installieren der Samba4-Pakete aus dem Wing-Repository mit yum.
[[email protected] yum.repos.d]# yum install -y samba45 samba45-winbind-clients samba45-winbind samba45-client\samba45-dc samba45-pidl samba45-python samba45-winbind-krb5-locator perl- Parse-Yapp\perl-Test-Base python2-crypto samba45-common-tools
Entfernen Sie diese Dateien.
[[email protected] ~]# rm -rf /etc/krb5.conf[[email protected] ~]# rm -rf /etc/samba/smb.conf
Samba 4-Konfiguration
Jetzt werden wir die Domain-Bereitstellung vornehmen.
[[email protected] ~]# Samba-Tool-Domänenbereitstellung --use-rfc2307 --interactive Realm [SUNIL.CC]:Domäne [SUNIL]:Serverrolle (dc, Mitglied, eigenständig) [dc]:DNS Backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:DNS-Weiterleitungs-IP-Adresse (schreiben Sie „none“, um die Weiterleitung zu deaktivieren) [4.2.2.1]:Administrator-Passwort:Passwort erneut eingeben:Nachschlagen von IPv4-AdressenNachschlagen von IPv6-AdressenKeine IPv6-Adresse wird sein zugewiesenEinrichten von secrets.ldbEinrichten der RegistryEinrichten der PrivilegiendatenbankEinrichten von idmap dbEinrichten von SAM dbEinrichten von sam.ldb-Partitionen und -EinstellungenEinrichten von sam.ldb rootDSEPVorladen des Samba 4- und AD-SchemasHinzufügen von DomainDN:DC=sunil,DC=ccHinzufügen eines KonfigurationscontainersEinrichten sam.ldb-SchemaEinrichten von sam.ldb-KonfigurationsdatenEinrichten von AnzeigebezeichnernÄndern von AnzeigebezeichnernHinzufügen von BenutzercontainernÄndern von BenutzercontainernHinzufügen von ComputercontainernÄndern von ComputercontainernEinrichten von sam.ldb-DatenEinrichten bekannter Sicherheitsprinzipale Einrichten von sam.ldb-Benutzern und -GruppenEinrichten von SelbstbeitrittHinzufügen von DNS-KontenErstellen von CN=MicrosoftDNS,CN=System,DC=sunil,DC=ccErstellen von DomainDnsZones- und ForestDnsZones-PartitionenAuffüllen von DomainDnsZones- und ForestDnsZones-PartitionenEinrichten von sam.ldb rootDSE-Markierung als synchronisiertFestlegen von Bereitstellungs-GUIDsEine Kerberos-Konfiguration, die für geeignet ist Samba 4 wurde unter /var/lib/samba/private/krb5.conf generiert. Falsche yp-Servereinstellungen einrichten Sobald die obigen Dateien installiert sind, ist Ihr Samba4-Server einsatzbereit. sunil.ccDOMAIN-SID:S-1-5-21-1578983437-3114190590-2362936743[[email protected] etc]#
Stellen Sie sicher, dass die Ports in der Firewall geöffnet sind.
[[email protected] etc]#firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add- port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanent; \firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \firewall-cmd --add-port=1024-3500/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent[[email protected] ~]# firewall-cmd --reload
Das Paket enthält kein Init-Skript, wir werden es jetzt hinzufügen.
[[email protected] ~]# cat /etc/systemd/system/samba.service[Unit]Description=Samba 4 Active DirectoryAfter=syslog.targetAfter=network.target[Service]Type=forkingPIDFile=/var/run /samba.pidExecStart=/usr/sbin/samba[Install]WantedBy=multi-user.target[[email protected] ~]#[[email protected] ~]# systemctl enable sambaCreated symlink from /etc/systemd/system/multi -user.target.wants/samba.service nach /etc/systemd/system/samba.service.[[email protected] ~]# systemctl restart samba
Alle anderen Schritte ähneln meinem vorherigen Artikel
Informationen zum Konfigurieren von Windows- und Linux-Hosts finden Sie darin
Installation des Samba4-Domänencontrollers von der Quelle
Erstellen der Samba-Freigabe mit Windows-ACL-Unterstützung
Wir müssen erweiterte ACL für samba4 konfigurieren. Fügen Sie Folgendes in die Datei smb.conf unter global.
ein[[email protected] ~]# cat /etc/samba/smb.conf# Globale Parameter[global] ------------ ------------ - vfs objects =acl_xattr map acl inherit =yes store dos attributes =yes ------------ -------------[[email protected] ~]#Starten Sie nun den Samba-Dienst neu.
[[email protected] ~]# systemctl Samba neu startenNur Benutzer und Gruppen mit gewährter SeDiskOperatorPrivilege-Berechtigung können Freigabeberechtigungen konfigurieren.
[[email protected] ~]# net rpc rights grant "SUNIL\Domain Admins" SeDiskOperatorPrivilege -U "USER\administrator"Enter USER\administrator's password:Successful available rights.[[email protected] ~]#Bevor wir die Freigabe erstellen, müssen wir sicherstellen, dass sich der samba4-Server bei sich selbst authentifiziert.
Wir können die übliche Methode nicht anwenden, da sie nicht funktioniert, da das vorhandene Paket von wing mit den von RedHat bereitgestellten Paketen in Konflikt gerät, wir können sssd hier nicht verwenden. Wir werden winbind verwenden, um dies zum Laufen zu bringen.
Bitte verwenden Sie die unten stehende Methode. Dies ist erforderlich, um die Samba-Freigabe mit bestimmten Berechtigungen zu erstellen
Installieren Sie das folgende Paket.
[[email protected] ~]#yum -y install authconfig-gtk*Führen Sie den Befehl aus.
[[email protected] yum.repos.d]# authconfig-tuiBitte wählen Sie das Winbind aus, folgen Sie den nächsten Schritten.
Sie können das Passwort nicht eingeben, drücken Sie einfach ok.
Kommentieren Sie dann die Zeilen in /etc/samba/smb.conf aus und starten Sie den Samba-Dienst neu.
Ihre Konfiguration sollte folgendermaßen aussehen:
[[email protected] ~]# cat /etc/samba/smb.conf# Globale Parameter[global]#--authconfig--start-line--# Generiert von authconfig am 26.05.2017 17:23 :04# BEARBEITE DIESEN ABSCHNITT NICHT (begrenzt durch --start-line--/--end-line--)# Jede Änderung kann in Zukunft von authconfig gelöscht oder geändert werden# workgroup =SUNIL# password server =samba4.sunil .cc# realm =SUNIL.CC# security =ads# idmap config * :range =16777216-33554431# template shell =/sbin/nologin# kerberos method =secrets only# winbind use default domain =false# winbind offline logon =false# --authconfig--end-line-- netbios name =SAMBA4 realm =SUNIL.CC workgroup =SUNIL dns forwarder =4.2.2.1 server role =Active Directory Domain Controller idmap_ldb:use rfc2307 =yes vfs objects =acl_xattr map acl inherit =yes store dos attributes =yes[netlogon] path =/var/lib/samba/sysvol/sunil.cc/scripts read only =No[sysvol] path =/va r/lib/samba/sysvol read only =No[[email protected] ~]#[[email protected] ~]# systemctl restart sambaPrüfen Sie, ob wir die Benutzer und Gruppen füllen können:
[[email protected] ~]# wbinfo -uSUNIL\administratorSUNIL\sambauserSUNIL\testuserSUNIL\krbtgtSUNIL\guest[[email protected] ~]# wbinfo -gSUNIL\cert PublishersSUNIL\ras and ias serverSUNIL\allowed rodc password replication groupSUNIL\ Verweigerte Rodc-KennwortreplikationsgruppeSUNIL\dnsadminsSUNIL\Nur-Lese-Domänencontroller für UnternehmenSUNIL\DomänenadministratorenSUNIL\DomänenbenutzerSUNIL\DomänengästeSUNIL\DomänencomputerSUNIL\DomänencontrollerSUNIL\Schema-AdminsSUNIL\UnternehmensadministratorenSUNIL\Ersteller von GruppenrichtlinienSUNIL\Nur-Lese-DomänencontrollerSUNIL\dnsupdateproxy[[ E-Mail-geschützt] ~]#Ändern Sie die Zeilen in nsswitch.conf:
[[email protected] ~]# cat /etc/nsswitch.conf-------------------passwd:Dateien winbindshadow:Dateien winbindgroup:Dateien winbindhosts:Dateien dns winsservices:Dateien winbindnetgroup:Dateien winbind-------------------------------Überprüfen Sie nun, ob wir den Benutzernamen mit dem id-Befehl abrufen können:
[[email protected] ~]# id testuseruid=3000019(SUNIL\testuser) gid=100(users) groups=100(users),3000019(SUNIL\testuser),3000009(BUILTIN\users)[[email protected ] ~]#Erstellen einer Samba-Freigabe
Ich werde zwei Freigaben erstellen, eine nur für Testbenutzer zugänglich und die andere für alle Benutzer in der Domänenbenutzergruppe zugänglich.
Die Freigabe, auf die der Testbenutzer zugreifen kann, heißt testshare.
Die Freigabe, auf die alle Benutzer zugreifen können, wird Commonshare genannt.
[[email protected] ~]# mkdir /testshare[[email protected] ~]# mkdir /commonshare[[email protected] ~]# chmod 770 /testshare[[email protected] ~]# chmod 770 /commonshare[ [email protected] ~]# chown -R root:testuser /testshare[[email protected] ~]# chown -R root:"Domain Users" /commonshareFügen Sie nun die Einträge in smb.conf
hinzu[[email protected] ~]# cat /etc/samba/smb.conf# Globale Parameter[global] Netbios-Name =SAMBA4-Bereich =SUNIL.CC-Arbeitsgruppe =SUNIL-DNS-Weiterleitung =4.2.2.1-Serverrolle =Active-Directory-Domäne controller idmap_ldb:use rfc2307 =yes vfs objects =acl_xattr map acl inherit =yes store dos attributes =yes[netlogon] path =/var/lib/samba/sysvol/sunil.cc/scripts read only =No[sysvol] path =/ var/lib/samba/sysvol read only =No[TestShare] comment =Testfreigabe zugänglich durch testuser path =/testshare gültige Benutzer =SUNIL\testuser beschreibbar =yes read only =no force create mode =0660 create mask =0770 directory mask =0770 Verzeichnismodus erzwingen =0770 Zugriffsbasierte Freigabe Aufzählung =Ja Unlesbar verbergen =Ja[CommonShare] Kommentar =Für alle Benutzer zugänglich Pfad =/commonshare gültige Benutzer ="@SUNIL\Do Hauptbenutzer" beschreibbar =ja nur lesen =nein Erstellungsmodus erzwingen =0660 Maske erstellen =0777 Verzeichnismaske =0777 Verzeichnismodus erzwingen =0770 zugriffsbasiert teilen enum =ja unlesbar verbergen =ja[[email protected] ~]#Starten Sie den Samba-Dienst neu.
[[email protected] ~]# systemctl Samba neu startenGreifen Sie als Testbenutzer auf die Samba-Freigabe zu.
Hier sehen Sie, dass sowohl Testshare als auch Commonshare sichtbar sind.
Getestet wurde das Erstellen von Dateien und Ordnern unter testshare.
[[email protected] /]# cd /testshare/[[email protected] testshare]# ls -ltotal 8-rwxrwx---+ 1 SUNIL\testuser users 0 May 27 22:56 1.txtdrwxrwx--- + 2 SUNIL\testuser-Benutzer 6. Mai 27 22:56 test[[email protected] testshare]#Jetzt melde ich mich als ein anderer Benutzer an, nur Commonshare ist sichtbar:
Erstellen von Dateien unter Commonshare.
[[email protected] commonshare]# ls -ltotal 8drwxrwxrwx+ 2 SUNIL\testuser users 6 27. Mai 23:02 testdrwxrwxrwx+ 2 SUNIL\sambauser users 6 27. Mai 23:07 test2[[email protected] commonshare]#So erstellen wir Freigaben unter Samba 4.