29. April 2015

Raspberry PI als Samba Server - Domain Controller leicht gemacht!

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 diese 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:

$ apt-get install samba samba-common samba-common-bin

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

$ cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
$ 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
view raw smb.conf hosted with ❤ by GitHub

So, jetzt nur noch eine Freigabe für Profile und Startskripte 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
view raw smb.conf hosted with ❤ by GitHub

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
view raw smb.conf hosted with ❤ by GitHub

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.

$ 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.

Wenn dir das gefallen hat, wirst du diese Artikel lieben!

Die neuesten Artikel, die du gelesen haben musst!

teilen

Noch mehr privux?

Verpasse keine spannende Beiträge & Tutorials mehr!

Jetzt kostenlosen Newsletter abonieren!

Jetzt newsletter abonieren