RaspberryPi als Samba Server – Domain Controller leicht gemacht!

von Sergej Kukshaus vor einem jahr

Ein Samba Server hat im groben und ganzen zwei Einsatzmöglichkeiten. Einmal um eine Freigabe zu erstellen und einmal um eine Domäne zu erstellen.

Der wohl größte Vorteil einer Domäne ist die globale Rechteverwaltung. In einer Domäne kann man ganz bestimmten Personen bestimmte Zugriffsrechte sowohl im Internet als auch im Intranet gewähren.

Beispielsweise dürfen die Eltern im Internet Seiten zum Thema „Alkohol“ aufsuchen, während dies den Kindern untersagt wird.

Ein anderes Beispiel wäre, dass die Kinder nur in der Zeit zwischen 15:00 und 17:00 ins Internet dürfen um Ihre Hausaufgaben zu erledigen. Die Eltern jedoch ganztags.

Wenn du mehrere Computer und mehrere Benutzer hast, die auf ihre Emails unabhängig von dem aktuellen PC zugreifen wollen, ist dies ebenfalls mit einer Domäne möglich.

Diese Konfiguration ist jedoch nicht Bestandteil dieses Artikels, sondern wird separat in einem anderen Artikel behandelt. Heute schaffen wir uns die Basis dafür.

Der PI und die Domäne

Zur Installation von Samba, benötigst du folgende Pakete, die du dir per apt-get installierst:

$ sudo apt install samba samba-common samba-common-bin

Es empfiehlt sich wie immer die Konfigurationsdatei direkt zu Beginn zu sichern. Hat man sich mit der Konfiguration verhauen, kann man immer noch zum Ursprungszustand zurückkehren.

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 
$ sudo nano /etc/samba/smb.conf

In der [global] Direktive werden die grundlegenden Optionen festlegen.

Die Minimalkonfiguration für Samba sieht wie folgt aus:

[global]
# Browsing/Identification
  workgroup = MILKYWAY

# Networking
  interfaces = eth1

# Authentication
  security = user
  encrypt passwords = true

# Domains
  domain logons = yes
  logon path = \\%N\profiles\%U
  logon drive = M:
  logon home = \\%N\%U

So, jetzt nur noch eine Freigabe für Profile und Start-Skripte anlegen

[profiles]
  comment = Benutzerprofile
  path = /home/samba/profiles
  guest ok = no
  browseable = no
  create mask = 0600
  directory mask = 0700

[netlogon]
  path = /home/samba/netlogon
  guest ok = yes
  read only = yes

Zum Schluss noch die Benutzerfreigaben für die jeweiligen Benutzer. Jeder Benutzer bekommt etwas Platz um seine Daten zu speichern und auf jedem Endgerät verfügbar zu haben.

Da der Platz auf dem PI sehr begrenzt ist, versuche deinen Benutzern beizubringen mit dem Platz sparsam zu sein. Zur Not kannst du auch den Speicherplatz für die jeweiligen Benutzer mit einem separaten Paket auf z.B. 4GiB begrenzen.

[homes]
  browseable = no
  read only = no
  create mask = 0600
  directory mask = 0700
  valid users = %S

Damit hast du schon deine Domäne konfiguriert und musst es nur noch neustarten:

$ /etc/init.d/samba restart

Benutzer und Maschinen in die Samba Datenbank hinzufügen

Jetzt fehlen jedoch die Benutzer, die sich Anmelden können. Dazu muss jeder Benutzer, der sich am System anmelden soll in die Samba Benutzerdatenbank aufgenommen werden.

$ smbpasswd -a Benutzername

Der Benutzer muss bereits zwingend der Linux Benutzerdatenbank vorhanden sein. Sollte dies nicht der Fall sein, kannst du ihn mit dem Befehl anlegen:

$ useradd -s /bin/false Benutzername

Um sich mit der Domäne zu verbinden, muss nicht nur der Benutzer, sondern auch der Computer der Domäne bekannt gemacht werden.

Dies kannst du wie folgt erledigen:

$ useradd -s /bin/false MyPC$ $ smbpasswd -a -m MyPC$

MyPC muss mit dem Computernamen übereinstimmen. Unter Windows findest du den am einfachsten heraus, wenn du auf [Windows]+[Pause] drückst.

Um Samba zu signalisieren, dass es sich um keinen Benutzer, sondern um eine Maschine handelt, muss das $-Zeichen an den Namen angehängt werden.

Damit die jeweiligen PCs in der Domäne aufgenommen werden können, muss der Benutzer root für Samba freigeschaltet werden.

$ sudo smbpasswd -a root

Windows PC zur Domäne hinzufügen

  1. Drücke auf [Windows]+[Pause]
  2. Klicke auf „Einstellungen ändern“
  3. Es öffnet sich ein Dialog „Systemeigenschaften“. Klicke hier auf „Ändern“
  4. Im nächsten Dialog kannst du zwischen Arbeitsgruppe und Domäne auswählen. Klicke hier auf Domäne
  5. Trage den Namen deiner Domäne ein, den du in der smb.conf unter „workgroup“ eingetragen hast.
  6. Im nächsten Dialog werden die Benutzerdaten abgefragt. Als Benutzername wählst du „root“ und als Passwort, das von dir ausgewählte Passwort beim hinzufügen des Benutzers „root“ in die Sambadatenbank.
  7. Er erscheint noch ein Dialog mit einer Willkommensmeldung in der Domäne.

Thats all folks!

Da die Konfiguration einer Domäne relativ umfangreich ist, ist die obere Konfiguration lediglich eine Minimalkonfiguration wie man Samba ans laufen bekommt.

Die komplette Dokumentation für den Samba Server, findest du auf der Samba Homepage.

Es kann hilfreich sein, eine Freigabe auf das komplette System (also auf „/“) zu erstellen um einfacher Dateien hin und her zu kopieren. Solltest du dich jedoch dafür entscheiden so eine Freigabe zu machen, solltest du unbedingt den Zugriff nur auf den root beschränken und dich nur im „Notfall“ einloggen.

Die komplette Konfiguration gibt es wieder wie gewohnt bei github 🙂

github | jupiter | samba

So geht’s weiter…

Im nächsten Kapitel widmen wir uns ganz dem Thema Drucken. Es soll möglich sein von jedem Endgerät einen einzelnen Drucker anzusprechen.

4 Kommentare
Marco Gersitz
12. Dezember 2019 17:06

Hallo Super Anleitung:

Aber der Befehl useradd -s /bin/false MyPC$ $ smbpasswd -a -m MyPC$ funktioniert nicht als error gibt es -a -m exestiert nicht kann mir da jemand weiterhelfen.

Gruß

Marco

12. Dezember 2019 20:07

Hallo Marco,

Danke für das Lob.
MyPC musst du an dieser Stelle natürlich durch den Namen des Rechners austauschen. Wenn dein Rechner also sowas wie WINDOWS-PC heißt, dann gibst du folgendes in der shell ein:

sudo useradd -s /bin/false MyPC$ $ smbpasswd -a -m WINDOWS-PC$

Gruß
Sergej

Michael
15. Dezember 2019 22:31

Hallo

Der Befehl useradd -s /bin/false MyPC$ $ smbpasswd -a -m MyPC$ funktioniert bei mir auch nicht.

Habe es bereits mit meinem PC Namen ausgetauscht.

Es kommt aber ein Argument Fehler beim ausführen…

Thomas
13. Mai 2020 14:40

Hallo,
da ich gerade über den gleichen Fehler gestoßen bin, hier mal eine kleine Hilfe zu dem Fehler beim Hinzufügen des Rechners zur Domäne.

Der Fehler kommt, dass Linux denkt, dass der Parameter -a zu dem Befehl useradd gehört.
Den Parameter -a gibt es aber bei useradd nicht.

Lösen lässt sich das ganze, in dem man aus dem Befehl 2 Befehle macht:
sudo useradd -s /bin/false MyPC$
sudo smbpasswd -a -m WINDOWS-PC$

... und was meinst du dazu?
Deine E-Mail-Adresse wird nicht veröffentlicht.