Samba
Installation
yum install samba yum install samba4 # Optional - Samba v4Wenn Active Directory domänen verwendet werden, muss Samba v4 verwendet werden.
Konfiguration
Entweder über Webmin oder vim.
Bei der Konfiguration über vim muss die smb.conf angepasst werden:
mv /etc/samba/smb.conf /root/Backup/ # verschiebt die Datei. Sie dient als Backup vim /etc/samba/smb.conf # erstellt eine neue leere smb.conf (Achtung Rechte beachten)
[global] netbios name = Heimchen # Name des Servers im Netz server string = Multimedia, Drucken und Dateien # Beschreibung workgroup = WORKGROUP # Arbeirtsgruppe os level = 20 # Priorität encrypt passwords = yes # Passwörter verschlüsselt empfangen security = user # Benutzerautentifizierung getwd cache = yes [homes] # Heimatverzeichnisse freigeben comment = Homeverzeichnis # Kommentar path = /home/%u # Verzeichnis laut Anmeldename freigeben browseable = no read only = no create mode = 0750 [gast] comment = Gastverzeichnis path = /tmp/gast read only = no public = yes [video] path = /video comment = /video browseable = yes read only = yes directory mask = 0775 create mask = 0755 [mp3] path = /mp3 comment = /mp3 browseable = yes read only = yes directory mask = 0775 create mask = 0755 [root] comment = Administration path = / writeable = yes public = yes create mode = 0755 #veto files = /.*/.?/ force user = root force group = root [media] comment = Media (Mplayer, MP3 usw) path = /media writeable = yes public = yes create mode = 0755 force user = root force group = root [printers] guest ok = Yes printable = Yes browseable = No available = NoDie in der smb.conf konfigurierten frei gegebenen Ordner müssen vorhanden und mit passenden Berechtigungen ausgestattet sein, sonst können sie nicht verwendet werden.
Praktisch ist es, hierfür eine passende Gruppe zu erstellen und alle Benutzer die Rechte am Ordner benötigen, der Gruppe hinzu fügen. Danach muss die Gruppe und die Gruppenberechtigung am Ordner konfiguriert werden. So hat jeder Benutzer der Mitglied der Gruppe ist, die Gruppenberechtigung des Ordners.
Die smb.conf testen
testparm /etc/samba/smb.conf
Einen User anlegen und Passwort vergeben
adduser paul smbpasswd -a paul
Samba neu starten
/etc/init.d/smb restart
Testen ob alles funktioniert
smbclient -L localhost -U paul
Jetzt kann, auch unter Windows, auf die Freigaben zugegriffen werden. Kommt es zu Berechtigungsprobelmen, muss in Linux die interne Firewall selinux ausgeschalten oder auf „Warnen“ gestellt werden.
Weitere Informationen: http://wiki.ubuntuusers.de/Samba_Server/smb.conf
Samba und Webmin
Webmin ermöglicht eine sehr brauchbare grafische Administration. Im Besonderen wird es leicht die Benutzerrechte nach einer neun Samba-Installation einmal global anzupassen.
Samba mit Vista
Seit Vista hat Microsoft das SMB-Protokoll zu SMBv2 geändert. Um weiterhin auf Samba-Freigaben zugreifen zu können, muss eine Registryänderung vorgenomen werden, um das alte SMB Protokoll zu reaktivieren.
http://wiki.samba.org/index.php/Windows7
Shares am Linux Client mounten
Unter Linux ein cifs-Mount mit Credentials ermöglicht, ähnlich wie Netzwerk-Laufwerke unter Windows, permanent auf Netzwerkfreigaben zuzugreifen. Die credentials-Datei enthällt dann für jede Freigabe die Berechtigungen.
Zuerst einen geeigneten Ordner für dei credentials schaffen
mkdir /etc/smbmounts
Eine credentials-Datei für server1 anlegen
vim server1
hier der Inhalt:
username=windowsusername password=windowspassword domain=windowsdomainund die Datei mit den Berechtigungen chmod 600 ausstatten. Um die Freigabe beim Booten schon zu mounten, wird die Datei /etc/fstab um einen eintrag erweitert For a password protected rw share:
//servername/sharename /mount/sharename cifs credentials=/etc/smbmounts/.server1,iocharset=utf8,file_mode=0777,dir_mode=0777 1 3
For a read only share:
//servername/sharename /media/sharename cifs guest,iocharset=utf8 1 3
Eine ältere Anleitung
Ein Share auf dem Client mounten (QUELLE hat die Form rechnername/share oder ipaddresse/share, wobei share der Freigabename in den eckigen Klammern [] der smb.conf Datei ist):
mount -t smbfs -o username=user,passwd=pw,auto,rw,fmask=777,dmask=777 QUELLE ZIEL
Wenn sich mit dem oben genannten Befehl Probleme à la „smb_proc_readdir_long“ ergeben, dann kann man es mit cifs versuchen
mount -t cifs -o username=user,password=pw,rw QUELLE ZIEL
Beim Booten der Share automatisch einbinden
vim /etc/fstab
Das Schema ist hier etwas anders:¸¸
QUELLE ZIEL smbfs username=user,passwd=pw,auto,rw,fmask=777,dmask=777 0 0
Eine erweiterte smb.conf
[global] load printers = yes read raw = no write raw = no socket options = TCP_NODELAY username map = /etc/samba/user.map winbind trusted domains only = yes encrypt passwords = yes winbind use default domain = yes max disk size = 1000 wins support = true netbios name = Dozentenserver server string = Multimedia, Drucken und Dateien freigeben printing = cups default = printers workgroup = Arbeitsgruppe-R3 os level = 20 auto services = global security = user getwd cache = yes dns proxy = no name resolve order = bcast lmhosts host wins panic action = /usr/share/samba/panic-action %d [homes] comment = Heimatverzeichnisse path = /home/%u browseable = no read only = no create mode = 0750 [gast] comment = Gastverzeichnis path = /tmp/gast read only = no public = yes [video] path = /video comment = /Videos browseable = yes read only = yes directory mask = 0775 create mask = 0755 [mp3] path = /mp3 comment = /Musik browseable = yes read only = yes directory mask = 0775 create mask = 0755 [root] comment = Administration path = / writeable = yes public = yes create mode = 0755 #veto files = /.*/.?/ force user = root force group = root [media] comment = Media (Mplayer, MP3 usw) path = /media writeable = yes public = yes create mode = 0755 force user = root force group = root [printers] guest ok = Yes printable = Yes browseable = No available = No [Backup] comment = vom Root path = /root/Backup
Freigaben testen mit smbclient
Informationen eines SMB/CIFS-Servers abfragen
Eine Abfrage ohne Anmeldung
smbclient -L //Servername
Eine Abfrage mit Anmeldung
smbclient -U benutzername -L //Servername
Der angegebene Benutzername muss nicht mit dem aktuellen Benutzernamen auf dem Client übereinstimmen, muss aber auf dem Server in der Samba-Datenbank eingetragen sein (mittels smbpasswd).
Arbeiten mit der smbclient-Shell
smbclient -U benutzername //Server/Freigabe