Smb.conf.minimal: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(27 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 -Uerwin%123Start$  //localhost/share
 
Try "help" to get a list of possible commands.
 
=Die Befehle hier sind ähnlich wie beim ftp Client=
 
*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
+
== Personifizierter Zugriff ==
</pre>
+
* '''smbclient -U ''user''%''password'' //ip.oder.host.name/share'''
=Die Hilfe=
+
 
*smb: \> help
+
= Befehle im smbclient =
<pre>
+
Die Befehle sind ähnlich wie bei einem FTP-Client.
?              allinfo        altname        archive        backup       
+
 
blocksize      cancel        case_sensitive cd            chmod         
+
== Verzeichnisinhalt ==
chown          close          del            deltree        dir           
+
* '''smb: \> dir'''
du            echo          exit          get            getfacl       
+
 
geteas        hardlink      help           history        iosize       
+
== Hilfe anzeigen ==
lcd            link          lock          lowercase      ls           
+
* '''smb: \> help'''
l              mask          md            mget          mkdir         
+
 
more          mput           newer          notify        open         
+
== Datei hochladen ==
posix          posix_encrypt  posix_open    posix_mkdir    posix_rmdir   
+
* '''smb: \> mput .bashrc'''
posix_unlink  posix_whoami  print          prompt        put           
+
 
pwd            q              queue          quit          readlink     
+
== Datei umbenennen ==
rd            recurse        reget          rename         reput         
+
* '''smb: \> rename .bashrc bashrc'''
rm            rmdir          showacls      setea          setmode       
+
 
scopy          stat          symlink        tar            tarmode       
+
== Datei herunterladen ==
timeout        translate      unlock        volume        vuid         
+
* '''smb: \> mget bashrc'''
wdel          logon          listconnect    showconnect    tcon         
+
 
tdis          tid            utimes        logoff        ..           
+
== ACL Anzeige ==
!             
+
* '''smb: \> showacls''' (zum Einschalten)
</pre>
+
* '''smb: \> dir''' (zur Kontrolle der ACLs)
=Datei hochladen=
+
* '''smb: \> showacls''' (zum Ausschalten)
*mput .bashrc
 
Put file .bashrc? y
 
=Umbnennen=
 
*rename .bashrc bashrc
 

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)