Dateifreigabe für Windows unter Linux einrichten (Samba)

Mit dem Samba Server ist es mit Linux möglich für das Windows

Datei/Verzeichnis-Freigabe bereitzustellen.
Seit der Version 4.0 (Standard seit Ubuntu 14.04 LTS) kann der Samba-Server auch als Microsoft Active Directory® kompatibler Domain Controller eingesetzt werden.

Inhaltsverzeichnis:

Inhaltsverzeichnis

Installieren

Um Samba verwenden zu können, muss es zuerst folgende Packete installiert werden:

sudo apt-get install samba-common samba

Nützlich sind oftmals auch folgende Pakete:

sudo apt-get install samba-doc samba-doc-pdf tdb-tools

Benutzerverwaltung

Samba hat in der Standardinstallation eine vom System getrennte Benutzerverwaltung, welche mit dem Befehl smbpasswd administriert wird:

sudo smbpasswd -a <username> # Fügt den Benutzer <username> der Samba Datenbank hinzu und aktiviert diesen
sudo smbpasswd -x <username> # Entfernt den Benutzer <username> aus der Samba Datenbank
sudo smbpasswd -d <username> # Deaktiviert den Benutzer <username> in der Datenbank
sudo smbpasswd -e <username> # Aktiviert den vorher deaktivierten Benutzer <username> in der Datenbank wieder

Benutzer, die zum Samba hinzugefügt werden, müssen schon auf dem System bereits erfasst sein.  Man kann auch ein User anlegen,der sich weder einloggen kann, noch ein Homeverzeichnis hat:

sudo adduser --no-create-home --disabled-login --shell /bin/false <username>

Konfiguration

[global]
    workgroup = WORKGROUP
    # wins support = no
    wins server = 192.168.0.1
    server string = %h server (Samba, Ubuntu)
    map to guest = Bad User
    obey pam restrictions = Yes
    passdb backend = tdbasm
    pam password change = Yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    syslog = 0
    log file = /var/log/samba/log.%m
    max log size = 1000
    load printers = No
    domain master = Yes
    dns proxy = No
    usershare allow guests = Yes
    panic action = /usr/share/samba/panic-action %d

Freigabe

Um auf das Verzeichnis zugreifen zu können, muss dieses freigegeben werden. Z.B:

Persönliche Freigabe

[homes]
    comment = Home of %u
    browseable = no
    valid users = %S
    writeable = yes
    create mode = 0600
    directory mode = 0700

Spezifische Projekt-Freigabe

[www-data]
    path = /var/www/html
    comment = HTML-Home
    browseable = yes
    valid users = nobody @web
    writeable = yes
    create mask = 0660
    directory mask = 0770
    unix extensions = yes
    force user = web
    force group = web

Allgemeine Lese-Freigabe

[Fotos]
    path = /media/Bilder
    public = yes
    writeable = no