Guest User

Untitled

a guest
Jun 26th, 2018
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.38 KB | None | 0 0
  1. Dies ist mein Weg zu einem Debian Samba Server unter Etch oder Lenny. Eine Anleitung für einen Linux Dateiserver oder Neudeutsch Fileserver war schon lange fällig, aber Swat und ich sind uns nicht grün und eine Samba-Anleitung ohne Swat schien mir zu komplex für ein Linux Howto. Egal, dann halt ohne Swat! Samba Dateiserver – Mein Auftrag In den letzten zwei Wochen hatte ich das Vergnügen zwei Linux Fileserver, einen unter Debian Etch und den anderen unter Debian Lenny, einzurichten. Ich dokumentiere hier (teilweise) mein Vorgehen. Das Netzwerk-Umfeld sah so aus: Samba Dateiserver Zugang über Nutzerkonten Zugriff auf Home-Verzeichnis und Gruppenverzeichnis Dateiserver soll sicher die Profile der Nutzer trennen und einzelne Samba-Nutzer sollen Zugriff auf einen, zwei oder drei Gruppenordner haben. Ldap-Authentifizierung (active directoy) ist nicht notwendig Domain-Controller ist nicht notwendig, weil das Samba Join nur zu Problemen führen würde (Nutzer) Möglichkeit der Konfiguration per Webinterface SWAT ist nicht notwendig, aber einfache Benutzerverwaltung, d.h. hinzufügen, löschen und ändern von Samba-Nutzern, ist zwingend. Ein Samba Printserver auf dem Debian Lenny ist für die Zukunft geplant. Der Zugriff auf den Dateiserver darf nur über bestimmte IPs und über sich selbst möglich sein. Samba Clienten (heterogene Netzwerkumgebung, d.h. kein nfs) sind Windows 2000, Windows XP und Windows Vista plus ein Windows 2003 Server sowie ein Debian Linux Root-Server Samba-Login auf Clienten manuell möglich oder Samba-Client Rechner sollen Netzlaufwerk automatisiert mounten / mappen Anleitung Samba Dateiserver per Copy & Paste Dieses Samba Howto ist als quick & dirty zu verstehen, d.h. jede Zeile vom Tutorial in die Shell kopieren (ggf. noch anpassen) und ausführen. Meine Anleitungen dienen mir selbst teilweise als Wiki, d.h. dieses Samba Wiki ändert sich auch von Zeit zu Zeit. Darüber hinaus ist das Howto eher für den privaten Bereich gedacht bis hin zu einem Small Business Network. Es soll nachvollziehbar sein auch nach ein paar Jahren. Ich verwende hier Samba 3.0 . Bitte die Erläuterungen im Anschluss lesen. Installation Samba dateiserver ~:# apt-get install samba Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: openbsd-inetd inet-superserver smbldap-tools ldb-tools The following NEW packages will be installed samba 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. ... ... Importing account for root...ok ... Importing account for nagios...ok Adding group `sambashare' (GID 110) ... Done. Starting Samba daemons: nmbd smbd. Samba-Gruppen anlegen fileserver :~# addgroup smball fileserver :~# addgroup smbusers fileserver :~# addgroup smbadmins Ordner für die Gruppen anlegen fileserver :~# mkdir /home/groupsmball fileserver :~# mkdir /home/groupsmbusers fileserver :~# mkdir /home/groupsmbadmins fileserver :~# chown root:smball /home/groupsmball/ fileserver :~# chown root:smbusers /home/groupsmbusers/ fileserver :~# chown root:smbadmins /home/groupsmbadmins/ fileserver :~# chmod 770 /home/groupsmbusers/ fileserver :~# chmod 770 /home/groupsmbadmins/ fileserver :~# chmod 2770 /home/groupsmball/ Konfiguration des Samba Servers Sicherung Original-Konfiguration smb.conf dateiserver ~:# cp /etc/samba/smb.conf /etc/samba/smb.conf_original Alte smb.conf löschen dateiserver ~:# rm /etc/samba/smb.conf Neue smb.conf einfügen und nach Bedarf ändern dateiserver ~:# mcedit /etc/samba/smb.conf Inhalt der neuen smb.cof [global] # Arbeitsgruppe workgroup = <NAME DER WORKGROUP> # Zugriff per "share" oder "user" # security = share security = user # nur notig bei security = user encrypt passwords = yes # Network Neighbourhood netbios name = <NAME DES SERVERS> #Genutze Adapter; bei einem eigentlich nicht notwendig ; interfaces = 192.168.1.2/24 ; bind interfaces only = yes # NT Beschreibung server string = Server Samba %v # Speeddoping socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #IP-Zugriffsbeschraenkungen; das ";" entfernen um die IP-Listen zu aktivieren ; hosts allow = 127. 192.168.1.1 192.168.1.2 192.168.1.3 ; hosts deny = 0.0.0.0/0 ########## Homeverzeichnisse ######### [homes] comment = homes read only = no create mask = 0700 browseable = no #####Share-Verzeichnisse # Namen in eckigen Klammern sind frei waehlbar [sbmusers] comment = Freigabe smbusers path = /home/groupsmbusers read only = no # ; valid users: ; admin users: chef [smbadmins] comment = Freigabe smbadmins path = /home/groupsmbadmins read only = no [smball] comment = smball path = /home/groupsmball read only = no create mask = 770 directory mask = 770 Nach dem Speichern die smb.conf testen über dateiserver ~:# testparm Samba Server kann nun neu gestartet werden: dateiserver ~:# /etc/init.d/samba restart Stopping Samba daemons: nmbd smbd. Starting Samba daemons: nmbd smbd Benutzer für Samba einrichten und Gruppen zuweisen Einfachen Benutzer anlegen: samba server :~# useradd -g smbusers -G smball -m <NAME> samba server :~# chmod 700 /home/<NAME> samba server :~# smbpasswd -a <NAME> New SMB password: Retype new SMB password: Added user test. Erweiterten Benutzer anlegen: samba server :~# useradd -g smbadmins -G smball,smbusers -m <NAME> samba server :~# chmod 700 /home/<NAME> samba server :~# smbpasswd -a <NAME> New SMB password: Retype new SMB password: Added user test. Fertig ist der Samba-Server!! Erläuterungen zum Howto Samba3 Konfigurationserweiterungen Eine Gastfreigabe könnte man wahrscheinlich (von mir ungetestet) so anlegen [gaeste] path = /home/gaeste # Auch Gäste dürfen auf die Freigabe zugreifen guest ok = yes # Angemeldete Benutzer dürfen auch schreiben writeable = yes browseable = yes # Rechte bei neuen Dateien/Verzeichnissen # Neue Dateien werden mit diesen Rechten versehen create mode = 0664 # Neue Verzeichnisse werden mit diesen Rechten versehen directory mode = 0775 # Benutzer und Gruppenzugehörigkeit # Erzwungene Kennung am Server anmeldet force user = tester # Daten werden mit diesen Dateizugehörigkeiten abgelegt force group = users Will man einfach Freigaben ohne Benutzer- und Passwortabfrage username map = /etc/samba/smbusers map to guest = bad user guest account = nobody ...Freigaben... Benutzerverwaltung Neuen einfachen System-Benutzer einrichten über samba server :~# useradd -g smbusers -G smball –m <NAME> Der Systembenutzer ist Mitglied der Gruppen: smball = Samba alle, d.h. Zugriff für alle eingetragenen Nutzer smbusers = Nutzer mit eingeschränkten Rechten Neuen System-Benutzer mit erweiterten Rechten einrichten über samba server :~# useradd -g smbadmins -G smball,smbusers –m <NAME> Der Systembenutzer ist Mitglied der Gruppen: smball = d.h. Zugriff für alle eingetragenen Samba-Nutzer smbusers = Nutzer mit eingeschränkten Rechten smbadmins = der Nutzer kann somit in drei verschiedenen Gruppenordnern arbeiten Vorhandenen Nutzer verändern (Bsp. User zu Admin machen) samba server :~# usermod -G smbadmins,smball <NAME> Erläuterungen zu usermod und useradd: -g Hauptgruppe -G weitere Gruppenzugehörigkeiten Samba-Benutzerverwaltung Eigentliche Anmeldung eines Benutzers für Samba samba server :~# smbpasswd -a <NAME> Benutzer löschen samba server :~# smbpasswd -x <NAME> Zusätzlich Benutzer im System inklusive Home-Verzeichnis löschen samba server :~# userdel -r <NAME> GRUPPENVERZEICHNISSE und GRUPPENVERWALTUNG Gruppen: samba fileserver:~# smbusers - eingeschränkte Rechte samba fileserver:~# smbadmins - erweiterte Rechte samba fileserver:~# smball - smbuser und smbadmins haben Zugriff Gruppen anlegen: samba fileserver:~# addgroup smbusers samba fileserver:~# addgroup smbadmins samba fileserver:~# addgroup smball Gruppenverzeichnisse erstellen samba dateiserver :~# mkdir -p /home/groupsmbusers samba dateiserver :~# mkdir /home/groupsmbadmins samba dateiserver :~# mkdir /home/groupsmball Eigentumsrechte für gemeinsame Order ändern samba dateiserver :~# chown root.smbusers /home/groupsmbusers samba dateiserver :~# chown root.smbadmins /home/groupsmbadmins samba dateiserver :~# chown root.smball /home/groupsmball Schreibrechte für gemeine Ordner änder dateiserver :~# chmod 770 /home/groupsmbusers dateiserver :~# chmod 770 /home/groupsmbadmins dateiserver :~# chmod 2770 /home/groupsmball Die 2 von 2770 bedeutet Set Group ID Bit. Man kann gemeinsame Ordner auf diese Art einrichten. Ist dieser Bit gesetzt, dann vererbt sich die Benutzergruppe beim Erstellen eines neuen Unterordners / Datei mit. Man kann somit einen gemeinsamen Ordner einrichten, in dem mehrere Benutzer Dateien/Ordner erstellen können. Allerdings werden die Zugriffsrechte nicht vererbt, sondern richten sich weiterhin nach der aktuell eingestellten umask. Siehe dazu später in der Samba-Konfiguration. Samba Fehlersuche Konfiguration von Samba mit dateiserver ~# testparm Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[sbmusers]" Processing section "[smbadmins]" Processing section "[smball]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [global] workgroup = <NAME DER WORKGROUP> netbios name = <NAME DES SERVERS> server string = Server Samba %v socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 [homes] comment = homes read only = No create mask = 0700 browseable = No [sbmusers] comment = Freigabe smbusers path = /home/groupsmbusers read only = No [smbadmins] comment = Freigabe smbadmins path = /home/groupsmbadmins read only = No [smball] comment = smball path = /home/groupsmball read only = No create mask = 0770 directory mask = 0770 Gruppen überprüfen mit samba dateiserver ~# tail -n3 /etc/group smball:x:1003: smbusers:x:1004: smbadmins:x:1005: Gruppenzugehörigkeit überprüfen mit samba dateiserver ~# cat /etc/group smbusers:x:1001:tester smbadmins:x:1002:admin smball:x:1003:tester,admin Benutzer Gruppen zuordnen samba dateiserver ~# gpasswd -a USER GRUPPE Benutzer aus Gruppen entfernen samba dateiserver ~# gpasswd -d USER GRUPPE Berechtigungen der Ordner überprüfen samba dateiserver ~# ls -l /home/ drwxrwx--- 2 root smbadmins 4096 2009-04-01 11:36 groupsmbadmins drwxrws--- 2 root smball 4096 2009-04-01 11:35 groupsmball drwxrwx--- 2 root smbusers 4096 2009-04-01 11:35 groupsmbusers Wichtig: groupsmball muss 2770 sein!! Test des lokalen Zugriffs auf ein Share / eine Samba Freigabe samba dateiserver ~# smbclient -U timbob //server2/smball Password: Domain=[SERVER2] OS=[Unix] Server=[Samba 3.0.24] smb: \> Samba Log Die Samba Logfiles liegen unter /var/log/samba/
Add Comment
Please, Sign In to add comment