Version 1.0
Autor:Srijan Kishore
Folgen Sie howtoforge auf Twitter
Diese Anleitung erklärt, wie man Samba-Server in OpenSuse 13.2 mit anonymen und gesicherten Samba-Servern konfiguriert. Samba ist eine Open Source/freie Software-Suite, die nahtlose Datei- und Druckdienste für SMB/CIFS-Clients bereitstellt. Samba ist im Gegensatz zu anderen SMB/CIFS-Implementierungen frei verfügbar und ermöglicht die Interoperabilität zwischen Linux/Unix-Servern und Windows-basierten Clients.
1 Vorbemerkung
Ich habe einen frisch installierten OpenSuse 13.2-Server, auf dem ich den Samba-Server installieren werde. Natürlich benötigen Sie einen Windows-Rechner, um den Samba-Server zu überprüfen, der mit dem OpenSuse 13.2-Server erreichbar sein muss. Mein OpenSuse 13.2-Server hat den Hostnamen server1.example.com &IP als 192.168.0.100
Sie können Ihren OpenSuse 13.2-Server aus den ersten fünf Kapiteln des Tutorials installieren lassen.
Hinweis:
- Der Windows-Rechner muss sich in derselben Arbeitsgruppe befinden. Um den Wert auf dem Windows-Computer zu überprüfen, führen Sie den Befehl an der cmd-Eingabeaufforderung aus
net config Arbeitsstation
So wird es sein
- Um den Windows-Rechner in Windows erreichbar zu machen, gehen Sie wie folgt vor. Im Ausführen Terminal &fügen Sie den Eintrag Ihrer Server-IP-Adresse hinzu
notepad C:\Windows\System32\drivers\etc\hosts
Bei mir war das so, einfach die Werte speichern.
[...]
192.168.0.100 server1.example.com opensuse
2 Anonymes Samba-Sharing
Zuerst werde ich die Methode zum Installieren von Samba mit der anonymen Freigabe erläutern. Um Samba zu installieren, führen Sie
auszypper installiere samba samba-client
Es wird Sie um Ihre Eingabe bitten
server1:~ # zypper install samba samba-client
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
Paketabhängigkeiten werden aufgelöst...
Problem:pattern-openSUSE-minimal_base-conflicts-13.2-13.6.1.x86_64 Konflikte mit Samba-Client, bereitgestellt von samba-client-4.1.6-3.18.1.x86_64
Lösung 1:Folgende Aktionen werden durchgeführt:
samba-client-4.1.6-3.18.1.x86_64 nicht installieren
samba-4.1.6-3.18.1.x86_64 nicht installieren
Lösung 2:Deinstallation von pattern-openSUSE-minimal_base -conflicts-13.2-13.6.1.x86_64
Wählen Sie aus den obigen Lösungen nach Nummer oder streichen Sie [1/2/c] (c):<--2
Abhängigkeiten auflösen...
Paketabhängigkeiten auflösen...
Die folgenden 41 NEUEN Pakete werden installiert:
cifs-utils cups-libs libarchive13 libdcerpc0 libdcerpc-binding0 libfam0
libgensec0 libjbig2 libjpeg8 libldb1 libndr0 libndr-krb5pac0 libndr-nbt0
libndr-Vorschrift0 libnetapi0 libpdb0 libregistry0 libsamba-credentials0
libsamba-hostconfig0 libsamba-util0 libsamdb0 libsmbclient0 libsmbclient-raw0
libsmbconf0 libsmbldap0 libtalloc2 libtdb1 libtevent0 libtevent-util0
libtiff5 libwbclient0 perl-Crypt-SmbHash perl-Digest-MD4 perl-XML-LibXML
pytalloc samba samba-client samba-bibliotheken yast2-kerberos-client
yast2-samba -client yast2-samba-server
Das folgende Paket wird ENTFERNT:
pattern-openSUSE-minimal_base-conflicts
41 neue Pakete zu installieren, 1 zu entfernen.
Gesamtgröße des Downloads:11,1 MiB. Nach der Operation werden weitere 32,4 MiB
verbraucht.
Fortfahren? [j/n/? zeigt alle Optionen] (y):<--y
Es installiert Samba mit Version 4.1.6-3.18.1-3208-SUSE-oS13.2-x86_64
Um Samba jetzt zu konfigurieren, bearbeiten Sie die Datei /etc/samba/smb.cnf, bevor Sie Änderungen vornehmen. Ich werde die Sicherungskopie der Originaldatei als /etc/samba/smb.cnf.bak
erstellen
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
cat /dev/null > /etc/samba/smb.conf
Geben Sie die Einträge wie folgt weiter
vi /etc/samba/smb.cnf
[global]
workgroup = WORKGROUP
passdb backend = tdbsam
server string = Samba Server %v netbios name = opensuse security = user map to guest = bad user dns proxy = no #============================ Share Definitions ============================== [Anonymous] path = /samba/anonymous browsable =yes writable = yes guest ok = yes read only = no
mkdir -p /samba/anonymous
Fügen Sie als Nächstes die Dienste beim Booten hinzu und starten Sie den Dienst als:
systemctl startet smb.service
systemctl startet smb.service
Hinweis:Wir müssen den Diensten erlauben, über die Firewall hinauszukommen, also werden wir die Dienste in yast2 hinzufügen als:
yast2
Zulassen, dass die Dienste in der Firewall für Samba-Client und Samba-Server außer Kraft gesetzt werden.
Jetzt können Sie wie folgt auf die Freigabe von OpenSuse 13.2 in Windows zugreifen:
Durchsuchen Sie auf dem Windows-Computer einfach den Ordner und versuchen Sie, eine Textdatei zu erstellen, aber Sie erhalten eine Fehlermeldung, dass die Berechtigung verweigert wird.
Überprüfen Sie die Berechtigung für den freigegebenen Ordner.
ls -l /samba/
server1:~ # ls -l /samba/
total 0
drwxr-xr-x 1 root root 0 Nov 11 09:41 anonym
server1:~ #
Um anonyme Benutzer zuzulassen, geben Sie die Berechtigungen wie folgt ein:
cd /samba
chmod -R 0777 anonym/
ls -l
server1:/samba # ls -l
total 0
drwxrwxrwx 1 root root 0 Nov 11 09:41 anonymous
server1:/samba #
Jetzt kann ein anonymer Benutzer den Ordnerinhalt durchsuchen und erstellen.
Sie können den Inhalt auch auf dem Server überprüfen.
ls -l anonym/
server1:/samba # ls -l anonym/
gesamt 0
-rwxr--r-- 1 niemand niemand 0 Nov 21 14:10 anonymous_test.txt
server1:/samba #
3. Gesicherter Samba-Server
Dazu werde ich eine Gruppe smbgrp &user srijan erstellen, um mit der richtigen Authentifizierung auf den Samba-Server zuzugreifen
groupadd smbgrp
useradd srijan -G smbgrp
smbpasswd -a srijan
server1:~ # smbpasswd -a srijan
Neues SMB-Passwort:
Neues SMB-Passwort erneut eingeben:
Benutzer srijan hinzugefügt.
server1:~ #
server1:/samba # smbpasswd -a srijan
Neues SMB-Passwort:<--srijanpasswd
Neues SMB-Passwort erneut eingeben:<--srijanpasswd
Benutzer srijan.
server1:/samba #
Erstellen Sie nun den Ordner viz gesichert im /samba-Ordner und geben Sie Berechtigungen wie diese
mkdir -p /samba/secured
cd /samba
chmod -R 0770 gesichert/
Bearbeiten Sie die Konfigurationsdatei erneut als :
vi /etc/samba/smb.conf
[...]
[secured] path = /samba/secured valid users = @smbgrp guest ok = no writable = yes browsable = yes
systemctl startet smb.service neu
Um die Einstellungen weiter zu überprüfen, gehen Sie wie folgt vor:
testparm
server1:~ # testparm
SMB-Konfigurationsdateien aus /etc/samba/smb.conf laden
rlimit_max:rlimit_max (1024) auf minimales Windows-Limit (16384) erhöhen
Verarbeitungsabschnitt "[Anonymous] "
Verarbeitungsabschnitt "[gesichert]"
Geladene Dienstdatei OK.
Serverrolle:ROLE_STANDALONE
Drücken Sie die Eingabetaste, um einen Dump Ihrer Dienstdefinitionen anzuzeigen
[global]
netbios name =OPENSUSE
server string =Samba Server %v
map to guest =Bad User
dns proxy =No
idmap config * :backend =tdb
[Anonymous]
path =/samba/anonymous
read only =No
guest ok =Yes
[secured]
path =/samba/secured
gültige Benutzer =@smbgrp
read only =No
server1:~ #
Überprüfen Sie jetzt auf dem Windows-Computer den Ordner jetzt mit den richtigen Anmeldeinformationen
Sie werden erneut mit dem Problem der Berechtigungen konfrontiert, um dem Benutzer srijan do eine Schreibberechtigung zu erteilen:
cd /samba
chown -R srijan:smbgrp gesichert/
Jetzt hat der Samba-Benutzer srijan die Berechtigung, in den Ordner zu schreiben. Prost, was Sie mit dem Samba-Server in OpenSuse 13.2
gemacht haben
Wir können die Datei auf dem Ubuntu-Server überprüfen als:
ls -l /samba/secured/
server1:~ # ls -l /samba/secured/
insgesamt 0
-rwxr--r-- 1 srijanische Benutzer 0 Nov 21 14:16 saved_test.txt
server1:~ #
Prost, jetzt haben wir einen erfolgreich konfigurierten Samba-Server über OpenSuse 13.2 :)
4 Links
- Samba: http://www.samba.org/samba/
- OpenSuse:http://www.opensuse.org/en/