Smb.conf.minimal: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= Vorbereitung =
 
= Vorbereitung =
−
== Benutzer anlegen ==
+
== Benutzer anlegen (Wenn dieser noch nicht existiert) ==
−
* '''useradd -m ''user'' -s /bin/bash -g sambashare'''
+
* '''useradd -m ''kit'' -s /bin/bash
  
−
== Passwörter setzen ==
+
== 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'''
  
−
Der Account muss bei einem einfachen Server 2 mal angelegt werden.
+
== Auf Seite von Samba muss der Benutzer nochmal angelegt werden ==
−
* '''passwd ''user'' '''
+
* '''smbpasswd -a ''kit'' '''
−
 
 
−
Geben Sie ein neues Passwort ein:
 
−
Geben Sie das neue Passwort erneut ein:
 
−
passwd: Passwort erfolgreich geändert
 
−
 
 
−
* '''smbpasswd -a ''user'' '''
 
−
 
 
−
New SMB password:
 
−
Retype new SMB password:
 
−
Added user ''user''.
 
  
 
= Verzeichnis anlegen und Rechte setzen =
 
= Verzeichnis anlegen und Rechte setzen =
−
*'''mkdir -pv '' /srv/samba/kit'' '''
+
* '''mkdir -pv /srv/samba/share'''
−
*'''chown root:sambashare '' /srv/samba/kit'' '''
+
* '''chown root:sambashare /srv/samba/share'''
−
*'''chmod 2775 '' /srv/samba/kit'' '''
+
* '''chmod 2775 /srv/samba/share'''
  
 
= Konfiguration =
 
= Konfiguration =
−
* '''vim ''/etc/samba/smb.conf'' '''
+
* '''vim /etc/samba/smb.conf'''
  
 
  [global]
 
  [global]
Zeile 33: Zeile 27:
 
  [share]
 
  [share]
 
         comment = Sichtbar
 
         comment = Sichtbar
−
         path = '' /srv/samba/kit''
+
         path = /srv/samba/share
 
         read only = No
 
         read only = No
 
         store dos attributes = Yes
 
         store dos attributes = Yes
  
−
=Optionen=
+
= Optionen =
−
=global=
+
== global ==
−
Globale Optionen des Samba Servers
+
Globale Optionen des Samba-Servers.
−
==workgroup = WORKGROUP==
 
−
Die Arbeitsgruppe oder Domaine.
 
−
==server role = standalone server==
 
−
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==
 
−
Wo werden die Accounts gespeichert. Das ist ein eigenständiged Datenbank Format
 
  
−
=share=
+
=== workgroup = WORKGROUP ===
−
ist hier der Name der freigabe. share ist kein Schlüsselwort. Es gibt aber welche.
+
Die Arbeitsgruppe oder Domäne.
−
==comment==
 
−
Ein Kommentar
 
  
−
==path = /mnt/media/share==
+
=== server role = standalone server ===
−
Der Pfad zum Ordner. Dieser muss existieren und man muss zugreifen können.
+
Ein eigenständiger Server kann ein Arbeitsgruppenserver oder Mitglied einer Arbeitsgruppenumgebung sein. Er kontrolliert keine Domäne.
−
==store dos attributes = Yes==
 
  
−
==inherit acls = Yes==
+
=== passdb backend = tdbsam ===
−
Die Rechte werden vererbt
+
Bestimmt, wo die Accounts gespeichert werden (eigenständiges Datenbankformat).
  
−
==path = /mnt/media/share==
+
== share ==
−
Der Pfad zum Ordner. Dieser muss existieren und man muss zugreifen können.
+
Dies ist der Name der Freigabe. "share" ist kein Schlüsselwort, sondern frei wählbar.
−
==store dos attributes = Yes===
 
  
−
==inherit acls = Yes==
+
=== comment ===
−
Die Rechte werden vererbt
+
Ein beschreibender Kommentar für die Freigabe.
  
−
==read only = no==
+
=== path ===
−
Man darf die Freigabe beschreiben
+
Der Pfad zum Ordner auf dem Dateisystem. Dieser muss existieren und die Berechtigungen müssen korrekt gesetzt sein.
−
=Tests=
+
 
−
==Läuft der Dienst?==
+
=== store dos attributes = Yes ===
−
*systemctl status smbd
+
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>
 
● 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?=
+
 
−
*ss -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=
+
== Anonymes Browsing ==
 
* '''smbclient -N -L ''ip.oder.host.name'' '''
 
* '''smbclient -N -L ''ip.oder.host.name'' '''
  
−
Sharename      Type      Comment
+
== Anonymer Zugriff ==
−
---------      ----      -------
+
* '''smbclient -U % //localhost/share'''
−
share           Disk      share dir
+
  tree connect failed: NT_STATUS_ACCESS_DENIED
−
IPC$            IPC      IPC Service (Samba 4.13.13-Debian)
 
−
  SMB1 disabled -- no workgroup available
 
  
−
=Anonymes Zugriff=
+
== Personifizierter Zugriff ==
−
*smbclient -U %  //localhost/share
+
* '''smbclient -U ''user''%''password'' //ip.oder.host.name/share'''
−
tree connect failed: NT_STATUS_ACCESS_DENIED
+
 
−
=Personifizierter Zugriff=
+
= Befehle im smbclient =
−
*'''smbclient -U ''user''%''password'' //ip.oder.host.name/name_des_shares
+
Die Befehle sind ähnlich wie bei einem FTP-Client.
−
Try "help" to get a list of possible commands.
 
  
−
=Die Befehle hier sind ähnlich wie beim ftp Client=
+
== Verzeichnisinhalt ==
−
*smb: \> dir  
+
* '''smb: \> dir'''
−
<pre>
 
−
dir
 
−
  .                                  D        0  Sun Feb 19 14:35:04 2023
 
−
  ..                                  D        0  Sun Feb 19 14:35:04 2023
 
  
−
31861548 blocks of size 1024. 27737256 blocks available
+
== Hilfe anzeigen ==
−
</pre>
+
* '''smb: \> help'''
−
=Die Hilfe=
 
−
*smb: \> help
 
−
<pre>
 
−
?              allinfo        altname        archive        backup       
 
−
blocksize      cancel        case_sensitive cd            chmod         
 
−
chown          close          del            deltree        dir           
 
−
du            echo          exit          get            getfacl       
 
−
geteas        hardlink      help          history        iosize       
 
−
lcd            link          lock          lowercase      ls           
 
−
l              mask          md            mget          mkdir         
 
−
more          mput          newer          notify        open         
 
−
posix          posix_encrypt  posix_open    posix_mkdir    posix_rmdir   
 
−
posix_unlink  posix_whoami  print          prompt        put           
 
−
pwd            q              queue          quit          readlink     
 
−
rd            recurse        reget          rename        reput         
 
−
rm            rmdir          showacls      setea          setmode       
 
−
scopy          stat          symlink        tar            tarmode       
 
−
timeout        translate      unlock        volume        vuid         
 
−
wdel          logon          listconnect    showconnect    tcon         
 
−
tdis          tid            utimes        logoff        ..           
 
−
!             
 
−
</pre>
 
−
=Datei hochladen=
 
−
*mput .bashrc
 
−
Put file .bashrc? y
 
−
=Umbnennen=
 
−
*rename .bashrc bashrc
 
−
=Datei runterladen=
 
−
*mget bashrc
 
−
Get file bashrc? y
 
−
getting file \bashrc of size 571 as bashrc (278,8 KiloBytes/sec) (average 278,8 KiloBytes/sec)
 
−
=ACL Anzeige anschalten=
 
−
*smb: \> showacls
 
−
=Ausgabe testen=
 
−
*smb: \> dir
 
−
<pre>
 
−
FILENAME:bashrc
 
−
MODE:A
 
−
SIZE:571
 
−
MTIME:Sun Feb 19 15:04:15 2023
 
−
revision: 1
 
−
type: 0x9004: SEC_DESC_DACL_PRESENT SEC_DESC_DACL_PROTECTED SEC_DESC_SELF_RELATIVE
 
−
DACL
 
−
ACL Num ACEs: 3 revision: 2
 
−
---
 
−
ACE
 
−
type: ACCESS ALLOWED (0) flags: 0x00
 
−
Specific bits: 0x1ff
 
−
Permissions: 0x1e01ff: SYNCHRONIZE_ACCESS WRITE_OWNER_ACCESS WRITE_DAC_ACCESS READ_CONTROL_ACCESS
 
−
SID: S-1-5-21-278214866-4069143577-128479991-1000
 
  
−
ACE
+
== Datei hochladen ==
−
type: ACCESS ALLOWED (0) flags: 0x00
+
* '''smb: \> mput .bashrc'''
−
Specific bits: 0x89
 
−
Permissions: 0x120089: SYNCHRONIZE_ACCESS READ_CONTROL_ACCESS
 
−
SID: S-1-22-2-100
 
  
−
ACE
+
== Datei umbenennen ==
−
type: ACCESS ALLOWED (0) flags: 0x00
+
* '''smb: \> rename .bashrc bashrc'''
−
Specific bits: 0x89
 
−
Permissions: 0x120089: SYNCHRONIZE_ACCESS READ_CONTROL_ACCESS
 
−
SID: S-1-1-0
 
  
−
Owner SID: S-1-5-21-278214866-4069143577-128479991-1000
+
== Datei herunterladen ==
−
Group SID: S-1-22-2-100
+
* '''smb: \> mget bashrc'''
  
−
31861548 blocks of size 1024. 27737236 blocks available
+
== ACL Anzeige ==
−
</pre>
+
* '''smb: \> showacls''' (zum Einschalten)
−
=ACL Anzeige abschalten=
+
* '''smb: \> dir''' (zur Kontrolle der ACLs)
−
*smb: \> showacls
+
* '''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)