Smb.conf.minimal: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(37 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Einfach=
+
= Vorbereitung =
<pre>
+
== Benutzer anlegen (Wenn dieser noch nicht existiert) ==
[global]
+
* '''useradd -m ''kit'' -s /bin/bash
        workgroup = WORKGROUP
+
 
        server role = standalone server
+
== Passwörter setzen (Wenn dies noch nicht gesetzt ist)==
        passdb backend = tdbsam
+
Der Account muss bei einem einfachen Server zweimal angelegt werden.
        usershare allow guests = Yes
+
* '''passwd ''kit'' '''
[share]
+
== Der Gruppe sambashare zuordnen ==
        comment = share dir
+
*'''usermod -aG sambashare kit'''
        path = /mnt/media/share
+
 
        read only = No
+
== Auf Seite von Samba muss der Benutzer nochmal angelegt werden ==
        store dos attributes = Yes
+
* '''smbpasswd -a ''kit'' '''
        inherit acls = Yes
+
 
</pre>
+
= Verzeichnis anlegen und Rechte setzen =
=Optionen=
+
* '''mkdir -pv /srv/samba/share'''
=global=
+
* '''chown root:sambashare /srv/samba/share'''
Globale Optionen des Samba Servers
+
* '''chmod 2775 /srv/samba/share'''
==workgroup = WORKGROUP==
+
 
Die Arbeitsgruppe oder Domaine.
+
= Konfiguration =
==server role = standalone server==
+
* '''vim /etc/samba/smb.conf'''
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.  
+
 
==passdb backend = tdbsam==
+
[global]
Wo werden die Accounts gespeichert. Das ist ein eigenständiged Datenbank Format
+
        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.
  
=share=
+
=== read only = No ===
ist hier der Name der freigabe. share ist kein Schlüsselwort. Es gibt aber welche.
+
Gibt an, ob auf die Freigabe geschrieben werden darf (entspricht "writable = Yes").
==comment = share dir==
 
Ein Kommentar
 
==path = /mnt/media/share==
 
Der Pfad zum Ordner. Dieser muss existieren und man muss zugreifen können.
 
==store dos attributes = Yes
 
==inherit acls = Yes==
 
Die Rechte werden vererbt
 
  
==read only = no==
+
= Tests =
Man darf die Freigabe beschreiben
+
== Läuft der Dienst ==
=Tests=
+
* '''systemctl status smbd'''
==Läuft der Dienst?==
 
*systemctl status smbd
 
 
<pre>
 
<pre>
 
● smbd.service - Samba SMB Daemon
 
● smbd.service - Samba SMB Daemon
     Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: en>
+
     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
 
     Active: active (running) since Sun 2023-02-19 14:13:24 CET; 9min ago
      Docs: man:smbd(8)
 
            man:samba(7)
 
            man:smb.conf(5)
 
    Process: 35115 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (c>
 
  Main PID: 35124 (smbd)
 
    Status: "smbd: ready to serve connections..."
 
      Tasks: 4 (limit: 2339)
 
    Memory: 8.3M
 
        CPU: 230ms
 
    CGroup: /system.slice/smbd.service
 
            ├─35124 /usr/sbin/smbd --foreground --no-process-group
 
            ├─35126 /usr/sbin/smbd --foreground --no-process-group
 
            ├─35127 /usr/sbin/smbd --foreground --no-process-group
 
            └─35128 /usr/sbin/smbd --foreground --no-process-group
 
 
</pre>
 
</pre>
=Sind die Ports offen?=
+
 
*netstat -lntp | egrep "139|445"
+
== Sind die Ports offen ==
 +
* '''ss -lntp | egrep "139|445"'''
 
<pre>
 
<pre>
tcp        0      0 0.0.0.0:445            0.0.0.0:*               LISTEN      35124/smbd           
+
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           
+
tcp        0      0 0.0.0.0:139            0.0.0.0:* LISTEN      35124/smbd           
tcp6      0      0 :::445                  :::*                    LISTEN      35124/smbd         
 
tcp6      0      0 :::139                  :::*                    LISTEN      35124/smbd         
 
</pre>
 
=Anonymes Browsing=
 
*smbclient -U% -L localhost
 
<pre>
 
Sharename      Type      Comment
 
---------      ----      -------
 
share          Disk      share dir
 
IPC$            IPC      IPC Service (Samba 4.13.13-Debian)
 
SMB1 disabled -- no workgroup available
 
 
</pre>
 
</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)