Edit v4.001 from 2007-06-11 to 2019-10-15 by SBa+FSc+TSc Samba-ServerDieser Artikel beschreibt die Konfiguration, Rechtestruktur und Rechteverwaltung eines Samba-Servers. |
Einleitung
Ein Samba-Server wird verwendet, um Ordner- und Drucker Freigaben von
einem Linux-System für ein Windows-System bereitzustellen.
Diese Freigaben werden im Windows-System als Netzlaufwerke eingebunden.
Die Freigaben werden über die Konfigurationsdatei Eine Samba-Freigabe bildet die Linux Rechte einer Ordnerstruktur auf Windows ab. Dabei ist man im klassischen Fall auf die Standard Linux Dateirechte beschränkt.
Samba besteht aus zwei Systemdiensten,
die |
RechteverwaltungBei einer Datei oder Ordnerzugriff schaut Samba in seiner Konfigurationsdatei, ob der Benutzer die Aktion ausführen darf. Danach schaut Samba im Linux Dateisystem, ob es die Aktion ausführen kann und wenn beide Konditionen positiv ausfallen, wird die Aktion ausgeführt.
Komplexere Rechtestrukturen,
wie mehrere Gruppen mit unterschiedlichen Rechten,
können im Linux Dateisystem nicht ohne |
Konfiguration
Der direkte Weg,
einen Samba Server zu konfigurieren,
ist die Konfigurationsdatei Nachfolgend kommt ein Beispiel mit einer Freigabe: # /etc/samba/smb.conf Konfigurationsdatei # Globale Parameter [global] # Arbeitsgruppe festlegen workgroup = ARBEITSGRUPPE # Netzwerknamen festlegen netbios name = SAMBA_SERVER # Passwort Verschlüsselung aktivieren encrypt passwords = Yes # Priorität im Windows Netzwerk os level = 2 # Projekt Verzeichnis Freigabe Parameter [projekt] # Kommentar comment = Projekt Verzeichnis # Pfad der Freigabe path = /export/projekt # Das sind die Benutzer und Gruppen, die überhaupt auf eine # Freigabe zugreifen könne. valid users = @lg_team # In write list stehen die Benutzer und Gruppen, die auf die Freigabe # und deren Unterordner von der Samba Seite schreiben können. write list = @lg_team # Benutzer mit Administratorrechten für die Freigabe. admin users = zeus # Rechte, mit denen Dateien und Verzeichnisse erstellt werden force create mode = 775 force directory mode = 775 Gruppeneinteilungen:
Die Verzeichnisse in dem Projektverzeichnis sind mit folgenden Berechtigungen versehen: /export/projekt drwxrwxr-x u:root g:lg_proj . Das ist das Samba-Freigabeverzeichnis. Die Gruppe lg_proj hat Linux Lese- und Schreibrechte. So können alle aus dieser Gruppe (die AUCH in lg_team Mitglied sind) Lesen und Schreiben: [uTeam1, uTeam2]. Alle anderen, die auf die Samba-Freigabe Zugriffsrechte haben (lg_team) besitzen nur Leserechte: [uTeam3, uTeam4, uTeam5, uTeam6]. Die Benutzer [uSonst1] und [uSonst2] können auf das Verzeichnis und die Unterverzeichnisse gar nicht zugreifen, da sie NICHT in der Samba Konfiguration eingetragen sind (valid users). /export/projekt/bibo drwxrwxr-x u:root g:lg_edv bibo Mitglieder der Gruppe lg_edv haben in diesem Verzeichnis Schreibrechte [uTeam1, uTeam3]. Alle anderen in der Gruppe lg_team können NUR lesend auf "Bibo" zugreifen [uTeam2, uTeam4, uTeam5, uTeam6]. /export/projekt/kfm drwxrwxr-x u:root g:lg_kfm kfm Auf diesen Ordner haben alle Benutzer der Gruppe lg_team Leserechte [uTeam1, uTeam2, uTeam3, uTeam4]. Die Benutzer, die in lg_team UND lg_kfm sind, haben hier Schreibrechte [uTeam5, uTeam6]. /export/projekt/linux drwxrwx--- u:root g:lg_proj linux In diesem Ordner haben nur die Benutzer Lese- und Schreibrechte, die Mitglieder der Gruppe lg_team UND Mitglieder der Gruppe lg_proj sind [uTeam1, uTeam2]. /export/projekt/temp drwxrwxrwx u:root g:lg_team temp In diesem Ordner können alle Benutzer, die auf die Samba-Freigabe Schreibrechte haben, schreiben [uTeam1, uTeam2, uTeam3, uTeam4, uTeam5, uTeam6].
Um Änderungen an den Konfigurationsdaten zu übernehmen,
ohne den Server neu zu starten,
muss das Kommando Bemerkungen:
Die Konfiguration kann mit dem Befehl
Die TCP-Ports |
BenutzerverwaltungUm einen Nutzer in Linux anzulegen, verwendet man den folgenden Befehl: useradd -c "Neuer MA" -d /home/schmidt -m -g lg_team -G lg_edv,lg_kfm schmidt
Dieser Befehl legt einen Linux-Benutzer mit dem Namen
Um einen Nutzer in Samba anzulegen, verwendet man den folgenden Befehl: smbadduser schmidt
Dieser Befehl legt einen Samba-Benutzer mit dem Namen smbpasswd -x IBM049$ Das Entfernen des Passwortes von der Station entfernt diese selbst auch! Um ein Passwort im System zu ändern, muss der Befehl passwd schmidt aufgerufen werden. Um ein Passwort in Samba zu ändern, muss der Befehl smbpasswd schmidt aufgerufen werden.
Die Benutzer und Gruppen des Systems können auch direkt bearbeitet
werden.
Dazu ruft man die Dateien |