Samba via ipkg installieren: Unterschied zwischen den Versionen
imported>Raymond |
imported>Mapero |
||
Zeile 104: | Zeile 104: | ||
create mask=771 | create mask=771 | ||
log level = 0 | log level = 0 | ||
read raw = yes | read raw = yes | ||
write raw = yes | write raw = yes | ||
Zeile 113: | Zeile 112: | ||
</pre> | </pre> | ||
So sieht bei mir der globale Bereich aus. Anpassen müsst Ihr v.a. den Arbeitsgruppennamen und die Einstellungen unter interfaces. Wichtig ist auch noch, dass ihr darauf achtet, wenn ihr auch Gästen Zugriff erlauben wollt, dass im globalen Bereich '''guest ok = yes''' und '''guest account = guest''' gesetzt sind. Ihr könnt immer noch auf den einzelnen Shares den Gast-Zugriff verbieten. | So sieht bei mir der globale Bereich aus. Anpassen müsst Ihr v.a. den Arbeitsgruppennamen und die Einstellungen unter interfaces. Wichtig ist auch noch, dass ihr darauf achtet, wenn ihr auch Gästen Zugriff erlauben wollt, dass im globalen Bereich '''guest ok = yes''' und '''guest account = guest''' gesetzt sind. Ihr könnt immer noch auf den einzelnen Shares den Gast-Zugriff verbieten. | ||
===== Per-Share Bereich ===== | ===== Per-Share Bereich ===== | ||
In diesem Bereich legt ihr die einzelnen Freigaben und deren Einstellungen fest. In eckigen Klammern steht dabei der Share Name | In diesem Bereich legt ihr die einzelnen Freigaben und deren Einstellungen fest. In eckigen Klammern steht dabei der Share Name |
Version vom 24. März 2012, 18:37 Uhr
Samba via ipkg installieren
Installation von Software, die nicht von Synology kommt geht immer auf eigenes Risiko. Zum Teil sind dabei tiefe Eingriffe ins System nötig und das muss über die Konsole erledigt werden. Dabei besteht das Risiko von Fehlmanipulationen die bis zur Neuinstallation der DS führen können. Und dabei ist das Risiko sehr gross, dass auch die Partitionen mit Userdaten formatiert werden müssen. Also alles was ihr macht geht auf Eure eigene Kappe :-)
Voraussetzungen
Damit man sich Samba installieren kann muss man einige Vorarbeit machen. Dazu gehören das Aktivieren von Telnet/ssh, das Installieren von bootstrap, damit man überhaupt den Paketmanager hat und das Konfigurieren desselbigen. Das Aktivieren von Telnet/ssh, wobei ich ssh den Vorzug geben würde, geschieht über den Webmanager der Diskstation. Unter dem Menupunkt Terminal kann man den jeweiligen Dämon aktivieren. Ein guter Client für solche Verbindungen (unter Windows) ist Putty. Für telnet Verbindungen braucht man nichts spezielles (einfach Start->Ausführen->cmd[ENTER] und in der Konsole telnet IP_DER_DISKSTATION[ODER NETBIOS NAME] eingeben)
Vorarbeiten
ikpg (bootstrap) installieren
Wichtig ist es die korrekte Version von bootstrap zum jewiligen Prozessor der Diskstation zu erwischen. Die Installation auf einer DS 107+ mit ARM Prozessor wird in diesen Beitrag im Synology Forum behandelt. Wenn ihr Euren Prozessor Typ nicht kennt, dann geht am besten bei Synology auf die Seite der jeweiligen DS und schaut Euch die Spezifikation an. Dort steht's bestimmt ;-)
Ansonsten kann auf der Konsole ein
# cat /proc/cpuinfo | grep Processor ## Processor : ARM926EJ-Sid(wb) rev 0 (v5l)
helfen.
Tipp
Wenn ihr weitere Infos zu der Hardware eurer DS sehen wollt (und auch etwas mit diesen Daten anfangen könnt ;-) dann ist /proc eine gute Anlaufstelle. Dort liegen alle möglichen Infos über eure DS.
ipkg konfigurieren
Damit man ipkg verwenden kann muss man die Konfigurationsdatei der Anwendung anpassen. Dort drin stehen die Pfade zu den Paketquellen welche verwendet werden sollten für die jeweilige Prozessorarchitektur der DS. Für meine DS 107+ habe ich alle Zeilen auskommentiert bis auf dest root / und dann die URLs der Quellen für die DS 107+ angegeben. Beim unstable Zweig gilt es zu betonen, dass diese Pakete nicht auf produktiven DS eingesetzt werden sollten. Denn wie der Name sagt sind die Anwendungen ggf instabil. Ehrlich gesagt ist mir bis das kernel-module-tun noch nichts untergekommen, das abstürzen würde (aber wie gesagt unstable geht auf eigenes Risiko!!)
//MediaServer/volume1/homes/tobster# cat /opt/etc/ipkg.conf # Uncomment one of the following package feeds or resolve your arch # by visiting http://ipkg.nslu2-linux.org/feeds/optware/ # src nslu2 http://ipkg.nslu2-linux.org/feeds/optware/nslu2/cross/stable # src fsg3 http://ipkg.nslu2-linux.org/feeds/optware/fsg3/cross/stable # src ddwrt http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable # src xwrt http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable # src whiterussian http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable # src oleg http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable # src ts72xx http://ipkg.nslu2-linux.org/feeds/optware/ts72xx/cross/stable # src/gz openwrt-brcm24 http://ipkg.nslu2-linux.org/feeds/optware/openwrt-brcm24/cross/unstable # src/gz openwrt-ixp4xx http://ipkg.nslu2-linux.org/feeds/optware/openwrt-ixp4xx/cross/unstable/ dest root / src/gz syno-x07 http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable src/gz syno-x07 http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/stable #option verbose-wget # # Proxy support: # #option http_proxy http://localhost:5865 #option ftp_proxy http://proxy.tld:3128 #option proxy_username <username> #option proxy_password <password>
ipkg testen
Ein erster Test für ipkg ist für mich immer die Installation eines "vernünftigen" Editors. Ich kann einfach mit vi nicht umgehen und installiere mir daher immer erst nano. Dazu auf der Konsole folgendes eingeben.
# ipkg install nano
Now let's Samba
Nachdem die Vorarbeiten erledigt sind wenden wir uns Samba zu. Der Hauptgrund für mich Samba via ipkg zu installieren ist es, dass sich der eingebaute Samba Server nicht nach meinem Geschmack konfigurieren lässt. So habe ich es zum Beispiel nie geschafft die Homeverzeichnisse der User auf der DS für den jeweiligen User als Share freizugeben. Und ausserdem ist es so das manuelle Änderungen an der Konfig-Datei des Systemsambas beim Neustart wieder überschrieben werden.
Installation
Zur Auswahl stehen die beiden folgenden Versionen
# ipkg list samba* ## samba - 3.2.1-1 - Samba suite provides file and print services to SMB/CIFS clients. ## samba2 - 2.2.12-1 - Lightweight Samba suite provides file and print services to SMB/CIFS clients. ## Successfully terminated.
Die Installation ist sehr schnell erledigt
# ipkg install samba //oder # ipkg install samba2
Ich verwende immer die 3-er Version. ipkg beginnt mit dem Runterladen der benötigten Pakete und anschliessend mit der Installation. Das kann ein Weilchen dauern. Guter Zeitpunkt einen Kaffee/Tee zu machen :-)
Konfiguration
Nachdem die Installation durch ist, geht es an die Konfiguration des Samba Servers. Die verantwortliche Datei hierzu liegt unter /opt/etc/samba/smb.conf. Diese Datei ist in einen globalen Teil und einen per-Share Teil unterteilt. Logischerweise gelten Einstellungen im globalen Teil für den ganzen Samba Server.
Globaler Bereich
[globals] workgroup = HOME server string = Lets SAMBA encrypt passwords = True security = user smb passwd file = /opt/etc/samba/smbpasswd log file = /opt/var/samba/log.%m socket options = IPTOS_LOWDELAY TCP_NODELAY domain master = Yes local master = Yes preferred master = Yes wins support = yes os level = 65 dns proxy = No name resolve order = wins lmhosts host bcast bind interfaces only = True interfaces = eth0 192.168.1.100 lo debug level = 0 directory mask = 0755 guest ok = yes guest account = guest force directory mode=771 force create mode=660 create mask=771 log level = 0 read raw = yes write raw = yes oplocks = yes max xmit = 65535 dead time = 15 getwd cache = yes
So sieht bei mir der globale Bereich aus. Anpassen müsst Ihr v.a. den Arbeitsgruppennamen und die Einstellungen unter interfaces. Wichtig ist auch noch, dass ihr darauf achtet, wenn ihr auch Gästen Zugriff erlauben wollt, dass im globalen Bereich guest ok = yes und guest account = guest gesetzt sind. Ihr könnt immer noch auf den einzelnen Shares den Gast-Zugriff verbieten.
In diesem Bereich legt ihr die einzelnen Freigaben und deren Einstellungen fest. In eckigen Klammern steht dabei der Share Name
[public] valid users=franz,susi,susanne,guest comment="Blabla" path=/volume1/public guest ok=yes browseable=yes read list= @Home,guest writeable=yes write list=@Home,root,admin
So könnte eine typische public Share mit Gastzugriff ausschauen. Die User franz, susi, susanne und guest sind erlaubte User für die Share. Path dürfte selbsterklärend sein, gleich wie comment ;-) guest ok erlaubt nochmal explizit den Gastzugriff, browsable sorgt dafür, dass die Share sichtbar ist. Die read list gibt nochmals die Benutzer an, die die Share lesen dürfen. writeable erlaubt grundsätzlich den Schreibzugriff und write list legt fest wer schreiben darf. Mit @ werden Gruppen angegeben (z.B. gehören franz, susi und susanne zur Gruppe Home)
Eine spezielle Share ist [homes] damit werden die Home Verzeichnisse der jeweiligen User als Share freigegeben
[homes] path=/volume1/homes/%S browsable = no guest ok = no valid users = %S writeable = yes write list = %S
Nach erfolgreicher Authentifizierung wird die Variable %S mit dem Benutzernamen des Users belegt. Somit ist sichergestellt, dass nur der jeweils angemeldete User sein Home-Verzeichnis sehen kann.
Benutzer einrichten
Samba muss eine eigene Datenbank mit den Usernamen und Passworten unterhalten und kann nicht direkt auf die Linux Auth zugreifen. Dazu müssen alle Benutzer mit ihren jeweiligen Passworten auch als smb User angelegt werden. Dazu dient smbpasswd
# smbpasswd -a franz
dann müsst ihr zweimal das Passwort eingeben.
Wenn User franz nicht als Linux User in '''/etc/passwd''' eingetragen ist, dann kann er auch nicht als SMB User angelegt werden In diesem Falle gibt es nach Eingabe der Passworte von smbpasswd eine Meldung wie diese '''Failed to modify password entry for user franz'''
In diesem Fall müsst ihr den Benutzer erst auf der DS anlegen (am einfchsten via den DS-Manager)
Samba testen
Bevor ihr den Samba Server startet, solltet ihr smb.conf noch auf Fehler prüfen. Dazu gibt es testparm
# testparm
prüft die Datei auf Fehler und sollte etwas wie
Loaded services file OK.
ausgeben. Wenn ihr diese Meldung seht dann könnt ihr Euch daran machen den alten Samba Server abzuschiessen. Zuvor solltet ihr aber noch kurz das Startscript des neuen Samba Server anschauen. Dieses liegt unter /opt/etc/init.d/S**samba.sh (** steht für zwei beliebige Zahlen). Öffnet diese Datei im Editor und stellt sicher dass Samba aktviert ist und die Pfade stimmen
# nano /opt/etc/init.d/S08samba.sh
# set samba_active=1 to activate samba samba_active=1 [ 1 = $samba_active ] || exit 0 if [ -n "`pidof smbd`" ] ; then echo "Stopping smbd:" killall smbd fi if [ -n "`pidof nmbd`" ] ; then echo "Stopping nmbd:" killall nmbd fi sleep 2 echo "Starting nmbd:" /opt/sbin/nmbd -D --configfile=/opt/etc/samba/smb.conf echo "Starting smbd:" /opt/sbin/smbd -D --configfile=/opt/etc/samba/smb.conf
Setzt samba_active=1 und kontrolliert den Pfad auf /opt/sbin und die Übergabe des korrekten Pfades der Konfigurationsdatei (smb.conf) Nach gemachten Änderungen die Datei speichern und gleich aufrufen
# sh /opt/etc/init.d/S08samba.sh
und mit
# ps | grep mbd ## 18215 root 1848 S /opt/sbin/nmbd -D --configfile=/opt/etc/samba/smb.conf ## 18218 root 2628 S /opt/sbin/smbd -D --configfile=/opt/etc/samba/smb.conf ## 18221 root 1036 S /opt/sbin/smbd -D --configfile=/opt/etc/samba/smb.conf ## 18222 root 3628 S /opt/sbin/smbd -D --configfile=/opt/etc/samba/smb.conf ## 20469 root 216 S grep mbd
prüfen, dass sowohl der smbd als auch der nmbd mit dem Config File läuft. Es kann sein, dass die Konsole den Befehl ps auf 80 Zeichen beschneidet und daher der Pfad zu smb.conf nicht komplett angezeigt wird. Das macht aber nix, denn übergeben wurde er korrekt ;-) Wenn die Dämons laufen, dann kann man gleich probieren die DS in der Netzwerkumgebung zu finden. Es ist übrigens völlig normal, dass smbd gleich dreimal läuft!
Wenn der Zugriff auf die DS klappt, dann solltet ihr noch das Startscript des Original Samba Servers umbenennen
# mv /usr/syno/etc.defaults/rc.d/S**samba.sh /usr/syno/etc.defaults/rc.d/W**samba.old
Sonst wird Samba zweimal gestartet.
Ressources
- Externe Links
- Samba.org
Offizielle Seite des Samba Projekts - smb.conf
Beschreibung zu den Servertypen von Samba in smb.conf - SMB How-To
Allgemeines How-To für den Umgang mit Samba - NSLU.org
Beschreibung der Installation von Samba via ipkg auf NSLU.org
- Samba.org