Smb.conf.minimal: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(48 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Einfach=
+
= Vorbereitung =
 +
== Benutzer anlegen (Wenn dieser noch nicht existiert) ==
 +
* '''useradd -m ''kit'' -s /bin/bash
 +
 
 +
== Passwörter setzen (Wenn dies noch nicht gesetzt ist)==
 +
Der Account muss bei einem einfachen Server zweimal angelegt werden.
 +
* '''passwd ''kit'' '''
 +
== Der Gruppe sambashare zuordnen ==
 +
*'''usermod -aG sambashare kit'''
 +
 
 +
== Auf Seite von Samba muss der Benutzer nochmal angelegt werden ==
 +
* '''smbpasswd -a ''kit'' '''
 +
 
 +
= Verzeichnis anlegen und Rechte setzen =
 +
* '''mkdir -pv /srv/samba/share'''
 +
* '''chown root:sambashare /srv/samba/share'''
 +
* '''chmod 2775 /srv/samba/share'''
 +
 
 +
= Konfiguration =
 +
* '''vim /etc/samba/smb.conf'''
 +
 
 +
[global]
 +
        workgroup = WORKGROUP
 +
        server role = standalone server
 +
        passdb backend = tdbsam
 +
        usershare allow guests = Yes
 +
[share]
 +
        comment = Sichtbar
 +
        path = /srv/samba/share
 +
        read only = No
 +
        store dos attributes = Yes
 +
 
 +
= Optionen =
 +
== global ==
 +
Globale Optionen des Samba-Servers.
 +
 
 +
=== workgroup = WORKGROUP ===
 +
Die Arbeitsgruppe oder Domäne.
 +
 
 +
=== server role = standalone server ===
 +
Ein eigenständiger Server kann ein Arbeitsgruppenserver oder Mitglied einer Arbeitsgruppenumgebung sein. Er kontrolliert keine Domäne.
 +
 
 +
=== passdb backend = tdbsam ===
 +
Bestimmt, wo die Accounts gespeichert werden (eigenständiges Datenbankformat).
 +
 
 +
== share ==
 +
Dies ist der Name der Freigabe. "share" ist kein Schlüsselwort, sondern frei wählbar.
 +
 
 +
=== comment ===
 +
Ein beschreibender Kommentar für die Freigabe.
 +
 
 +
=== path ===
 +
Der Pfad zum Ordner auf dem Dateisystem. Dieser muss existieren und die Berechtigungen müssen korrekt gesetzt sein.
 +
 
 +
=== store dos attributes = Yes ===
 +
Erlaubt das Speichern von DOS-Attributen (wie "Hidden" oder "Archive") im Dateisystem.
 +
 
 +
=== inherit acls = Yes ===
 +
Bewirkt, dass neue Dateien und Unterverzeichnisse die ACLs des übergeordneten Verzeichnisses erben.
 +
 
 +
=== read only = No ===
 +
Gibt an, ob auf die Freigabe geschrieben werden darf (entspricht "writable = Yes").
 +
 
 +
= Tests =
 +
== Läuft der Dienst ==
 +
* '''systemctl status smbd'''
 
<pre>
 
<pre>
[global]
+
● smbd.service - Samba SMB Daemon
        workgroup = WORKGROUP
+
    Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
        server role = standalone server
+
    Active: active (running) since Sun 2023-02-19 14:13:24 CET; 9min ago
        passdb backend = tdbsam
 
        usershare allow guests = Yes
 
[share]
 
        comment = share dir
 
        path = /mnt/media/share
 
        read only = No
 
        store dos attributes = Yes
 
        inherit acls = Yes
 
 
</pre>
 
</pre>
=Optionen=
+
 
==workgroup = WORKGROUP==
+
== Sind die Ports offen ==
Die Arbeitsgruppe oder Domaine.
+
* '''ss -lntp | egrep "139|445"'''
==server role = standalone server==
+
<pre>
Ein frei stehender, eigenständiger Server kann ein Arbeitsgruppenserver oder ein Mitglied einer Arbeitsgruppenumgebung sein. Ein Stand-Alone-Server kontrolliert keine Domäne und übernimmt keine Rolle in einer Domäne.  
+
tcp        0      0 0.0.0.0:445            0.0.0.0:* LISTEN      35124/smbd         
==passdb backend = tdbsam==
+
tcp        0      0 0.0.0.0:139            0.0.0.0:* LISTEN      35124/smbd         
 +
</pre>
 +
 
 +
== Anonymes Browsing ==
 +
* '''smbclient -N -L ''ip.oder.host.name'' '''
 +
 
 +
== Anonymer Zugriff ==
 +
* '''smbclient -U % //localhost/share'''
 +
tree connect failed: NT_STATUS_ACCESS_DENIED
 +
 
 +
== Personifizierter Zugriff ==
 +
* '''smbclient -U ''user''%''password'' //ip.oder.host.name/share'''
 +
 
 +
= Befehle im smbclient =
 +
Die Befehle sind ähnlich wie bei einem FTP-Client.
 +
 
 +
== Verzeichnisinhalt ==
 +
* '''smb: \> dir'''
 +
 
 +
== Hilfe anzeigen ==
 +
* '''smb: \> help'''
 +
 
 +
== Datei hochladen ==
 +
* '''smb: \> mput .bashrc'''
 +
 
 +
== Datei umbenennen ==
 +
* '''smb: \> rename .bashrc bashrc'''
 +
 
 +
== Datei herunterladen ==
 +
* '''smb: \> mget bashrc'''
 +
 
 +
== ACL Anzeige ==
 +
* '''smb: \> showacls''' (zum Einschalten)
 +
* '''smb: \> dir''' (zur Kontrolle der ACLs)
 +
* '''smb: \> showacls''' (zum Ausschalten)

Aktuelle Version vom 31. März 2026, 14:52 Uhr

Vorbereitung

Benutzer anlegen (Wenn dieser noch nicht existiert)

  • useradd -m kit -s /bin/bash

Passwörter setzen (Wenn dies noch nicht gesetzt ist)

Der Account muss bei einem einfachen Server zweimal angelegt werden.

  • passwd kit

Der Gruppe sambashare zuordnen

  • usermod -aG sambashare kit

Auf Seite von Samba muss der Benutzer nochmal angelegt werden

  • smbpasswd -a kit

Verzeichnis anlegen und Rechte setzen

  • mkdir -pv /srv/samba/share
  • chown root:sambashare /srv/samba/share
  • chmod 2775 /srv/samba/share

Konfiguration

  • vim /etc/samba/smb.conf
[global]
        workgroup = WORKGROUP
        server role = standalone server
        passdb backend = tdbsam
        usershare allow guests = Yes
[share]
        comment = Sichtbar
        path = /srv/samba/share
        read only = No
        store dos attributes = Yes

Optionen

global

Globale Optionen des Samba-Servers.

workgroup = WORKGROUP

Die Arbeitsgruppe oder Domäne.

server role = standalone server

Ein eigenständiger Server kann ein Arbeitsgruppenserver oder Mitglied einer Arbeitsgruppenumgebung sein. Er kontrolliert keine Domäne.

passdb backend = tdbsam

Bestimmt, wo die Accounts gespeichert werden (eigenständiges Datenbankformat).

share

Dies ist der Name der Freigabe. "share" ist kein Schlüsselwort, sondern frei wählbar.

comment

Ein beschreibender Kommentar für die Freigabe.

path

Der Pfad zum Ordner auf dem Dateisystem. Dieser muss existieren und die Berechtigungen müssen korrekt gesetzt sein.

store dos attributes = Yes

Erlaubt das Speichern von DOS-Attributen (wie "Hidden" oder "Archive") im Dateisystem.

inherit acls = Yes

Bewirkt, dass neue Dateien und Unterverzeichnisse die ACLs des übergeordneten Verzeichnisses erben.

read only = No

Gibt an, ob auf die Freigabe geschrieben werden darf (entspricht "writable = Yes").

Tests

Läuft der Dienst

  • systemctl status smbd
● smbd.service - Samba SMB Daemon
     Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-02-19 14:13:24 CET; 9min ago

Sind die Ports offen

  • ss -lntp | egrep "139|445"
tcp        0      0 0.0.0.0:445             0.0.0.0:* LISTEN      35124/smbd          
tcp        0      0 0.0.0.0:139             0.0.0.0:* LISTEN      35124/smbd          

Anonymes Browsing

  • smbclient -N -L ip.oder.host.name

Anonymer Zugriff

  • smbclient -U % //localhost/share
tree connect failed: NT_STATUS_ACCESS_DENIED

Personifizierter Zugriff

  • smbclient -U user%password //ip.oder.host.name/share

Befehle im smbclient

Die Befehle sind ähnlich wie bei einem FTP-Client.

Verzeichnisinhalt

  • smb: \> dir

Hilfe anzeigen

  • smb: \> help

Datei hochladen

  • smb: \> mput .bashrc

Datei umbenennen

  • smb: \> rename .bashrc bashrc

Datei herunterladen

  • smb: \> mget bashrc

ACL Anzeige

  • smb: \> showacls (zum Einschalten)
  • smb: \> dir (zur Kontrolle der ACLs)
  • smb: \> showacls (zum Ausschalten)