Smb.conf.minimal: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(33 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Vorarbeiten=
+
= Vorbereitung =
==Useranlegen==
+
== Benutzer anlegen (Wenn dieser noch nicht existiert) ==
*useradd     -m erwin  -s /bin/bash -g users
+
* '''useradd -m ''kit'' -s /bin/bash
==Passwörter setzen==
 
Der Account muss bei einem einfachen Server 2 mal angelegt werden.
 
*passwd erwin
 
Geben Sie ein neues Passwort ein:
 
Geben Sie das neue Passwort erneut ein:
 
passwd: Passwort erfolgreich geändert
 
  
*smbpasswd -a  erwin
+
== Passwörter setzen (Wenn dies noch nicht gesetzt ist)==
New SMB password:
+
Der Account muss bei einem einfachen Server zweimal angelegt werden.
Retype new SMB password:
+
* '''passwd ''kit'' '''
Added user erwin.
+
== Der Gruppe sambashare zuordnen ==
=Verzeichnis anlegen und Rechte setzen=
+
*'''usermod -aG sambashare kit'''
*mkdir -p /mnt/media/share
 
*chown root:users /mnt/media/share
 
*chmod 775 /mnt/media/share
 
  
=Einfach=
+
== Auf Seite von Samba muss der Benutzer nochmal angelegt werden ==
<pre>
+
* '''smbpasswd -a ''kit'' '''
[global]
+
 
        workgroup = WORKGROUP
+
= Verzeichnis anlegen und Rechte setzen =
        server role = standalone server
+
* '''mkdir -pv /srv/samba/share'''
        passdb backend = tdbsam
+
* '''chown root:sambashare /srv/samba/share'''
        usershare allow guests = Yes
+
* '''chmod 2775 /srv/samba/share'''
[share]
+
 
        comment = share dir
+
= Konfiguration =
        path = /mnt/media/share
+
* '''vim /etc/samba/smb.conf'''
        read only = No
+
 
        store dos attributes = Yes
+
[global]
        inherit acls = Yes
+
        workgroup = WORKGROUP
</pre>
+
        server role = standalone server
=Optionen=
+
        passdb backend = tdbsam
=global=
+
        usershare allow guests = Yes
Globale Optionen des Samba Servers
+
[share]
==workgroup = WORKGROUP==
+
        comment = Sichtbar
Die Arbeitsgruppe oder Domaine.
+
        path = /srv/samba/share
==server role = standalone server==
+
        read only = No
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.  
+
        store dos attributes = Yes
==passdb backend = tdbsam==
+
 
Wo werden die Accounts gespeichert. Das ist ein eigenständiged Datenbank Format
+
= 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.
  
=share=
+
=== inherit acls = Yes ===
ist hier der Name der freigabe. share ist kein Schlüsselwort. Es gibt aber welche.
+
Bewirkt, dass neue Dateien und Unterverzeichnisse die ACLs des übergeordneten Verzeichnisses erben.
==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
 
  
==path = /mnt/media/share==
+
=== read only = No ===
Der Pfad zum Ordner. Dieser muss existieren und man muss zugreifen können.
+
Gibt an, ob auf die Freigabe geschrieben werden darf (entspricht "writable = Yes").
==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>
 
</pre>
=Anonymes Browsing=
+
 
*smbclient -U% -L localhost
+
== Anonymes Browsing ==
<pre>
+
* '''smbclient -N -L ''ip.oder.host.name'' '''
Sharename      Type      Comment
+
 
---------      ----      -------
+
== Anonymer Zugriff ==
share          Disk      share dir
+
* '''smbclient -U % //localhost/share'''
IPC$            IPC      IPC Service (Samba 4.13.13-Debian)
 
SMB1 disabled -- no workgroup available
 
</pre>
 
=Anonymes Zugriff=
 
*smbclient -U % //localhost/share
 
 
  tree connect failed: NT_STATUS_ACCESS_DENIED
 
  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)