![]() |
|
|
|||||||
| Portal | Wiki | IRC-Chat | Registrieren | Benutzerliste | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
|
|
Themen-Optionen |
Bewertung:
|
Ansicht |
|
|
#1 |
|
Registered User
Registrierungsdatum: Jun 2003
Ort: Switzerland
Beiträge: 44
|
FreeBSD Samba PDC Howto
Inhaltsangabe
1. Intro 2. Gedanken zu Hardware und Software 3. Was muss der Server können? Allgemeine Gedanken zum Netzwerk 4. Installation von FreeBSD 5.1 5. FreeBSD Feintuning (Basissystem Sicherheit Teil 1) 6. FreeBSD up to date halten 7. FreeBSD Feintuning (Basissystem Sicherheit Teil 2) 8. Installation und Konfiguration von Samba 3.0.0 und Webmin 1.121 9. Installation und Konfiguration des DHCP Servers ISC-DHCP3 10. Konfiguration des NTP (Network Time Protocol) Servers von FreeBSD 11. FreeBSD Feintuning (Basissystem Sicherheit Teil 3) 12. Ein paar Anmerkungen zu Zugriffsrechten unter FreeBSD 13. Konfiguration von Windows XP Professional als Domänen-Mitglied 14. Maintenance des Servers 15. Schlusswort 1. Intro Als ich das erste Mal FreeBSD und Samba installierte, suchte ich nach einer Step-by-Step Anleitung, wie man FreeBSD und Samba richtig installiert und konfiguriert. Ich fand zwar vieles im Web, das meiste war mir jedoch zu sehr auf Linux und Samba bezogen oder hatte mir nicht genug Tiefgang. Zudem war vieles auch noch auf Englisch. Ich hoffe mit diesem Howto diese Lücke ein wenig schliessen zu können. Dieses Howto soll beschreiben, wie man einen standalone Server mit FreeBSD, Samba als PDC, DHCP und NTP für ein kleines Netzwerk installiert und konfiguriert An wen richtet sich dieses Howto? Prinzipiell an alle, die sich gerne einmal mit FreeBSD beschäftigen möchten. Auch wenn man keine oder wenig Vorkenntnisse hat, sollte man mit diesem Howto einen Fileserver konfigurieren können. Jedoch sollte man auf jeden Fall wissen, welche Hardware (und zwar im Detail) im Rechner drinsteckt auf dem man FreeBSD installieren will. Ebenso muss man wissen, was eine Domäne ist, bzw. wie man ein Windows-Computer einer Domäne hinzufügen kann. Ein wenig Englischkenntnisse muss man schon besitzen und etwas geübt im Tastaturschreiben sollte man auch sein, weil man relativ viel tippen muss. Jedoch muss ich sagen, dass dies hier nicht "mein" Howto ist, vielmehr habe ich diverse FreeBSD-Literatur genommen und ins Deutsche übersetzt. Darum hier auch gerade die Quellenangabe mit den Originalartikeln, auf die dieses Howto aufbaut: FreeBSD Handbuch des FreeBSD German Documentation Project http://www.freebsd.org/doc/de_DE.ISO...ook/index.html Die englische Version des FreeBSD Handbuchs des FreeBSD Documentation Project http://www.freebsd.org/doc/en_US.ISO...ook/index.html Frequently Asked Questions for FreeBSD 2.X, 3.X and 4.X des FreeBSD Documentation Project http://www.freebsd.org/doc/en_US.ISO...faq/index.html FreeBSD Hypertext Man Pages http://www.freebsd.org/cgi/man.cgi Building a Fairly secure FreeBSD Mail server von soup4you2 http://screamingelectron.org/phpBB2/viewtopic.php?t=774 Using Samba, 2ed, O'Reilly & Associates http://samba.epfl.ch/samba/docs/using_samba/toc.html The Samba-HOWTO-Collection http://samba.epfl.ch/samba/docs/man/...ollection.html IPFW und NATD von asg, marzl und anderen http://www.bsdforen.de/forums/showth...p?threadid=148 Die Dokumentation welche im Samba Web Administration Tool (SWAT) eingebaut ist Das Buch: FreeBSD unleashed von Michael Urban / Brian Tiemann Ich hoffe ich habe niemanden vergessen und wünsche viel Spass beim Lesen. 2. Gedanken zu Hardware und Software 2.1 Hardware Die Prozessorleistung ist für einen Fileserver nicht das wichtigste, so tut es auch ein ausrangierter Pentium II für den Server. Wichtiger ist der Arbeitspeicher, hier sollten es mindestens 128MB sein. So richtig Spass machen tut es IMHO ab 256MB aufwärts. Vor allem interessant wird’s bei den Festplatten. Hier empfehle ich unbedingt ein RAID – Array zu bauen, schliesslich sollen die Daten auf dem Fileserver ja auch sicherer lagern als auf den Windows-Clients. Darum macht hier eine einzelne Festplatte wenig Sinn. RAID 0 (Striping) können wir auch gleich vergessen, da dort, wenn eine Platte abraucht, auch die Daten auf den anderen verloren sind. Also ist mindestens RAID 1 (Mirroring) angesagt. Dafür tut’s ein billiger RAID-Controller z.B. mit Highpoint 370 Chipsatz. RAID 5 wäre natürlich die Krönung nur kostet ein RAID 5 IDE-Controller schon eine Stange Geld, von SCSI ganz zu schweigen. Die Grafikkarte ist recht nebensächlich, da der Server ohnehin nur über die Kommandozeile eingerichtet wird. Ein Diskettenlaufwerk ist nicht zwingend notwendig, aber ein CD-ROM (alternativ kann man FreeBSD auch übers Netz installieren, wozu aber wieder ein Diskettenlaufwerk nötig ist, aber das beschreibe ich hier im Howto nicht) sollte der Server schon haben. Wichtig für dieses Howto ist auch eine gute Internetverbindung am besten ADSL über einen Router. 2.2 Software Warum FreeBSD und nicht Net-/ OpenBSD oder Linux? Bei Linux kann ich mit dem Distributionswirrwarr nicht viel anfangen und über NetBSD kann ich nichts sagen, weil ich es selber nie ausprobiert habe. OpenBSD wäre wohl noch eine Spur sicherer als FreeBSD, aber ich habe anno dazumal unter OpenBSD 2.5 versucht, Samba aus den Quellen zu kompilieren, mit sagen wir mal, sehr bescheidenem Erfolg. Für FreeBSD spricht, dass es IMHO am besten von den drei BSD’s auf die Intel x86 Plattform optimiert (Hardwareunterstützung) ist, und dass die Ports immer sehr aktuell sind. Obwohl FreeBSD 5.1 auf der FreeBSD Homepage als New Technology Release gekennzeichnet ist, habe ich für mein Howto FreeBSD 5.1 verwendet, da es das neue UFS2 Dateisystem bietet. Dies ist in meinen Augen wichtig, da wenn man später auf neuere Versionen von FreeBSD updaten möchte, man seine Daten schon auf dem neuen UFS2 Dateisystem hat und nicht auf dem UFS Dateisystem von FreeBSD 4.X. Schliesslich hat nicht jedermann genügend Plattenspeicher um seine gesamten Daten vom Server zu kopieren, nur weil man die Platten im Server mit einem neuen Dateisystem versehen will. Die weitere Software, die ich hier im Howto verwende, ist Samba 3.0.0, Webmin 1.121 und der isc-dhcp3 Server aus den FreeBSD Ports sowie Software, die als Abhängigkeiten der oben genannten drei Ports mitinstalliert wird. 3. Was muss der Server können? Allgemeine Gedanken zum Netzwerk Endziel: der Server soll als "Primary Domain Controller" für Windows XP, Windows 2000 und Windows NT dienen und somit auch für die Namensauflösung im Windows-Netz (WINS) zuständig sein. Weiter soll er IP-Adressen an die Clients vergeben können (DHCP) und den Clients seine Zeiteinstellungen weitergeben, hierfür bezieht der Server seine Zeit aus dem Internet (NTP). Namensgebung im Netzwerk Einheitliche Namen scheinen mir wichtig in einem Netzwerk, hier eine Idee wie diese Namensgestaltung aussehen könnte: sbsd0001 = S (Server) bsd (Betriebssystem) 0001 (Nummer des Servers) wwxp0001 = W (Workstation) wxp (Windows XP) 0001 (Nummer der Workstation phpq0001 = P (Printer) hpq (Hewlett-Packard) 0001 (Nummer des Printers) u01 = U (User) 01 (Benutzer 01) Sonderzeichen wie Trennstriche, Underscores usw. würde ich nicht verwenden. 4. Installation von FreeBSD 5.1 Ich installiere FreeBSD am liebsten von CD. Daher habe ich mir auch das 5.1 ISO-File von einem FreeBSD - Mirror gezogen. z.B. von ftp://ftp.de.FreeBSD.org/pub/FreeBSD/. Die ganze Mirrorliste ist zu finden unter: http://www.freebsd.org/doc/en_US.ISO...rrors-ftp.html 4.1. Das ISO auf eine CD brennen, CD rein und let’s go! 4.2. sysinstall Main Menu -> Custom wählen 4.3. Choose Custom Installation Options -> Options -> Newfs Args wählen (mit Space anwählen) Parameter ändern auf -b 4096 -f 2048 Begründung: es macht zumindest mir keine Freude, wenn die MP3 - Sammlung auf dem Server doppelt so viel Speicher wie auf dem Windows-Client benötigt, nun das Menü wieder verlassen. 4.4 Choose Custom Installation Options -> Partition: Hier ist zu beachten, dass man bei mehreren Festplatten die richtige Platte partitioniert! ad0 steht zum Beispiel für die Master IDE-Festplatte am primären IDE-Kontroller. sd0 ist demnach die erste SCSI-Platte. Speziell bei IDE Raid-Arrays mit den verbreiteten Kontrollern von Promise und Highpoint ist zu beachten, dass FreeBSD sowohl die einzelnen im Raid vorhandenen Platten als auch das Array als solches erkennt. Ein solches IDE-Raid hat die Bezeichnung ar0 und nur dieses ar0 sollte partitioniert werden. Wieder anders sieht es bei "richtigen" Hardware-Raid-Controllern (z.B der Promise Supertrak SX6000 oder SCSI-Raid-Controller von ICP-Vortex) aus, diese Arrays erscheinen dann als eigenständige Platte z.B als pst0 für den Promise Supertrak SX6000. Allfällige vorhandene Partitionen löschen und mit Druck auf "A" die ganze Festplatte für FreeBSD verwenden. Partition nochmals anwählen und mit "S" bootfähig machen. "Q" zum verlassen des FDISK Partition Editors. Wenn wir gefragt werden nach dem Boot Manager, wählen wir BootMgr Install the FreeBSD Boot Manager. 4.5 Choose Custom Installation Options -> Label: wir erstellen durch drücken von "C" neue Slices. Dann werden wir nach der Grösse gefragt, wo wir 128M für 128MB eingeben. Dann wählen wir File System und zum Schluss geben wir den Mountpoint an. In diesem Falle ist der Mountpoint "/". Fertig ist das Root-Slice. Analog erstellen wir folgende Slices Regeln zur Grösse des Swapspeichers: Früher (als Rechner 4 MB RAM hatten) sagte man das Doppelte des Hauptspeichers, heute ist dies jedoch anders und es macht bei 512MB RAM nicht viel Sinn 1GB Swapspeicher zu kreieren. Bis 256MB RAM ist 256MB Swap auf jeden Fall eine gute Grösse. 256M swap kein 256M filesystem /var 256M filesystem /tmp 2048M filesystem /usr Rest filesystem /home Den FreeBSD Disklabel Editor wieder mit "Q" verlassen. 4.6 Choose Custom Installation Options -> Distributions -> Custom: Wir wählen base, crypto, man und ports Begründung: diese 4 Pakete reichen vollkommen aus für unseren Fileserver. 4.7 Choose Custom Installation Options -> Media: CD/DVD wählen. 4.8 Choose Custom Installation Options -> Commit wählen damit FreeBSD installiert wird. 4.9 Nachdem die Installation abgeschlossen wurde, werden wir gefragt, ob wir nochmals das General Confirmation Menü aufrufen wollen für letzte Änderungen, dort wählen wir "NO". Nun sind wir wieder im Choose Custom Installation Options Menü, das wir mit anwählen von Cancel verlassen und so wieder im sysinstall Main Menü sind. 4.10 sysinstall Main Menu -> Configure wählen 4.11 FreeBSD Configuration Menu -> Root Password. Begründung: Passwort des Superusers (Root) setzen. Das Passwort sollte nicht zu einfach sein, aber auch nicht so schwierig, dass man es vergisst. 4.12 FreeBSD Configuration Menu -> User Management -> User: Begründung, wir legen einen Unix Benutzer an, der später Root werden darf. Login ID: highfish (na ja das kann irgendwas sein, highfish ist nur ein Beispiel) UID: 1001 Group: Password (irgendwas, das man nicht vergisst) Full Name: Highfish (oder irgendwas anderes) Member groups: Home directory: /home/highfish Login shell: /bin/sh 4.13 FreeBSD Configuration Menu -> User Management -> Group: Begründung, wir legen gerade noch ein paar Benutzergruppen an, die wir später wieder brauchen werden. Group name: smb-users GID: 1100 Group name: smb-admin GID: 1150 und Group name: smb-workstations GID: 1200 4.14 FreeBSD Configuration Menu -> Time Zone. Wenn die Rechneruhr nach lokaler zeit läuft, wählen wir zuerst "NO". Dann wählen wir Europe und das Land in dem wir wohnen. Dann wir die jeweilige Zeitzonenbezeichnung angezeigt. CET zum Beispiel für Mitteleuropa. 4.15 FreeBSD Configuration Menu -> Networking -> Interfaces. Dort die Netzwerkkarte wählen. In meinem Falle ist dies rl0 für eine Realtek 8139 PCI Netzwerkkarte. IPv6 configuration -> "NO", DHCP configuration -> "NO". Damit können wir nun die Einstellungen der Netzwerkkarte manuell vornehmen. Host: sbsd0001 (oder was auch immer) Domain: highfish.info (oder was auch immer) IPv4 Gateway: IP-Adresse des Internet-Gateways (DSL-Router) Name Server: IP-Adresse des Name Servers des Internet Providers IPv4 Address: IP-Adresse des Fileservers. Bei mir z.b. 192.168.1.5 Netmask: 255.255.255.0 (kommt aber automatisch) Dann wird man gefragt, ob man das Interface rl0 aufstarten will, wo wir "YES" wählen. 4.16 FreeBSD Configuration Menu -> Networking -> TCP Extensions deaktivieren mit Druck auf Space. 4.17 FreeBSD Configuration Menu -> Startup -> usbd deaktivieren, wenn man wie ich keine USB – Geräte verwendet. 4.18 Das FreeBSD Configuration Menu verlassen 4.19 sysinstall Main Menu -> Keymap: das passende Keyboard-Layout installieren, bei mir wäre das Swiss German ISO 4.20 Nun die Installation durch verlassen des sysinstall Main Menu abschliessen. D.h. Exit install anwählen und alle Floppies, CD-ROMS usw. aus den Laufwerken nehmen und zusehen wie der PC neu startet. 5. FreeBSD Feintuning (Basissystem Sicherheit Teil 1) Vormerkung: In diesem Abschnitt müssen diverse Konfigurationsdateien von FreeBSD an unsere Bedürfnisse angepasst werden. Ich benutze dazu den Editor VI. Dieser Editor ist standardmässig bei FreeBSD dabei und wenn man sich an seine Bedienung gewöhnt hat, kommt man schnell damit voran. In der Manpage des VI steht geschrieben, wie man ihn bedient. http://www.freebsd.org/cgi/man.cgi?q...SE&format=html Nun Ist FreeBSD 5.1 also auf der Festplatte installiert und wir können uns ans Feintuning des Systems machen. Dafür loggen wir uns als Superuser (root) ins System ein. sbsd0001# steht für den Kommandozeilenpromt unseres BSD-Systems sbsd0001# sockstat -4 Damit werden gestartete Daemons angezeigt und auf welchen Ports sie laufen Wir sehen, dass sendmail defaultmässig läuft auf den Ports 25 und 587. Da wir das nicht brauchen stellen wir das gleich mal ab sbsd0001# vi /etc/mail/sendmail.cf So können wir das sendmail Konfigurationsfile editieren. Wir suchen im File nach der Zeile: O DaemonPortOptions=Port=587, Name=MSA, M=E Dort setzen wir ein Kommentarzeichen (#) davor um diese Zeile auszukommentieren. Dann das File abspeichern und folgendes Kommando ausführen: sbsd0001# killall –HUP sendmail Somit wird der Sendmailprozess neu gestartet und liest seine Konfigurationsdatei neu ein. Wenn wir jetzt wieder sockstat -4 eingeben, ist der sendmail an Port 587 verschwunden. Nun noch sendmail auf port 25 abstellen: sbsd0001# vi /etc/rc.conf In der nun geöffneten Konfigurationsdatei (die wir übrigens noch ein paar mal editieren werden) ergänzen wir folgendes: sendmail_enable="NO" Somit ist sendmail zwar nicht ganz abgestellt, aber es ist nicht mehr von aussen zugänglich, sondern nur noch auf unserem System am localhost (127.0.0.1:25). sbsd0001# shutdown now Dies fährt FreeBSD in den Single-User Modus um so die Startup-Dateien neu einzulesen. Um wieder aus dem Single-User Modus zu kommen, Enter drücken und exit eingeben. Falls der Port 111 in unserem Output von sockstat -4 erscheint (was allerdings nicht der Fall ist, wenn man meine Anleitung bis hier Schritt für Schritt befolgt hat), haben wir Portmap auf unserem System laufen, was nur für NFS (und somit für unseren Samba Server überflüssig) notwendig ist. Also folgendes eintragen in /etc/rc.conf nfs_server_enable="NO" nfs_client_enable="NO" portmap_enable="NO" Weiter ist noch Port 514 für syslogd offen, den schliessen wir aber nicht vollständig, sondern tragen in /etc/rc.conf folgendes ein: sbsd0001# vi /etc/rc.conf syslogd_enable="YES" syslogd_flags="-ss" Nach einem weiteren sbsd0001# shutdown now Und einem weiteren sockstat -4 ist nun auch der syslogd Port nicht mehr ersichtlich. Last but not least setzen wir noch einen weiteren Parameter in /etc/rc.conf: clear_tmp_enable="YES" Dieser Parameter leert das Verzeichnis /tmp beim Aufstarten, IMHO eine gute Idee. Wenn wir hier sowieso die Datei /etc/rc.conf editieren, schauen wir auch, ob die USB Unterstützung auch wirklich abgeschaltet ist (natürlich nur, wenn wir keine USB Geräte verwenden). Dafür checken wir, ob folgende Zeile drinsteht. usbd_enable="NO" Darunter darf keine weitere Zeile mit usbd_enable=“YES“ stehen, falls diese steht, diese löschen. So nun raus aus /etc/rc.conf und rein in /etc/login.conf mit folgendem Kommando: sbsd0001# vi /etc/login.conf Dort ändern wir : passwd_format=md5:\ in : passwd_format=blf:\ (beachten, dass in der Datei zwischen dem ersten Doppelpunkt und dem p kein Leerschlag sein darf!) Damit der Blowfish-Verschlüsselungsalgorithmus und nicht der md5 Algorithmus verwendet wird. Weiter bauen wir folgende Zeile ein (am besten unter der Zeile :ignoretime@:\ ). :idletime=30:\ Damit werden inaktive User nach 30 Minuten wieder ausgeloggt. Dann das File /etc/login.conf abspeichern und verlassen und Folgendes eingeben um die Login-Datenbank neu zu bauen: sbsd0001# cap_mkdb /etc/login.conf Danach müssen die Passwörter der Benutzer an den neuen Algorithmus angepasst werden. D.h. für den Benutzer highfish geben wir folgendes ein um neue Passwörter zu setzen. sbsd0001# passwd highfish Und für den Benutzer root sbsd0001# passwd Ob es funktioniert hat, überprüfen wir hiermit: sbsd0001# more /etc/master.passwd Nun sollten bei den beiden Usern die Passwörter mit $2 beginnen. Nun müssen wir noch das adduser Tool an den neuen Blowfish-Algorithmus anpassen. sbsd0001# vi /etc/auth.conf Dort die #crypt_default = md5 des Linie ändern auf: crypt_default=blf Jetzt passen wir das optische Erscheinungsbild unserer Loginprozedur ein wenig an, in dem wir eine neue /etc/motd gestalten. Diese Message of the day (motd) wird angezeigt, nachdem ein Benutzer sich erfolgreich eingeloggt hat. Dort kann eigentlich stehen was will, es soll sich ja eh niemand auf dem System einloggen, ausser der Systemadministrator. Trotzdem kann man die motd anpassen durch editieren der Datei /etc/motd. sbsd0001# vi /etc/motd Dort könnte dann so etwas stehen: Code:
sbsd0001# touch /etc/COPYRIGHT Viel interessanter finde ich den Text zu ändern, der vor dem login:-Prompt kommt. Dazu muss man /etc/gettytab editieren. sbsd0001# vi /etc/gettytab Dort die Linie suchen die mit :cb:ce:ck:lc: beginnt. Dort zwischen dem ersten r und dem letzen Doppelpunkt dieser Zeile kann man reinschreiben was man will, als Pre-Login Message. Da mir ein schlichtes login: am besten gefällt, lösche ich alles zwischen dem r und dem oben besagten Doppelpunkt. Nach diesen Änderungen ist wieder einmal kurz die Datei /etc/rc.conf dran: sbsd0001# vi /etc/rc.conf Dort die Linie update_motd="NO" ergänzen um zu vermeiden, dass FreeBSD selbständig Version und Kernel Information zu der /etc/motd packt. Damit diese Änderung wirksam wird, muss dass System neu gestartet werden. Zuerst würde ich jedoch noch auf einer weiteren Konsole überprüfen, ob die neue Loginprozedur funktioniert indem man sich nochmals einloggt. sbsd0001# reboot Oder: sbsd0001# shutdown -r now So nun weiter mit unserem Sicherheitsfeintuning. Prinzipiell sollte sich der User root gar NIE direkt einloggen. Dies stellen wir durch Modifikation von /etc/ttys sicher. sbsd0001# vi /etc/ttys In dieser Datei suchen wir mehrere Zeilen, die mit ttyv0 bis ttyv8 beginnen. In diesen Zeilen ersetzen wir das Wörtchen "secure" durch "insecure", damit sich root nicht mehr einloggen kann. Man kann bei diesen Linien auch "on" mit "off" ersetzen, um das jeweilige Terminal ganz zu deaktivieren, aber IMHO tuts der Wechsel auf "insecure" vollkommen Nun suchen wir die Linie (ein kleiner Hint: die Linie steht gerade über den anderen) console none unknown off secure Und löschen das Wort "secure" vollständig. Somit wird verhindert, dass jemand das System in den Single-User Modus fahren kann und dann ohne Eingabe des root-Passworts am System arbeiten kann. Weiter ändern wir auch bei den seriellen Terminals ttyd0 bis ttyd3 "secure" auf "insecure". Das hat zwar an sich kein Einfluss, da diese seriellen Terminals sowieso deaktiviert sind, aber der Vollständigkeit ändern wir das hier trotzdem. Nun speichern wir /etc/ttys und bearbeiten /etc/group sbsd0001# vi /etc/group Dort ergänzen wir die Linie wheel:*:0:root folgendermassen: wheel:*:0:root,highfish Wobei highfish der Benutzer ist, den wir ganz am Anfang dieser Installation im sysinstall Tool angelegt haben, sollte der Benutzer nicht highfish heissen, dementsprechend hier auch anpassen. Dies ist IMMINENT wichtig, da wir ohne diesen Zusatz nicht mehr root-Benutzer werden können. Was aber unabdingbar für das weitere Gelingen unserer Installation ist. Sollte bei obiger Konfiguration doch etwas schiefgelaufen sein, und man kann sich nach einem Reboot nicht mehr als root einloggen oder zu root emporschwingen mit "su", hier der Weg wie man trotzdem wieder reinkommt. 1. ctrl-alt-del, Hardreset oder den Stecker des Fileservers ziehen 2. bei "Hit [Enter] to boot immediately, or any other key for command prompt." geben wir "boot -s ein, damit wir in den Single-User Modus kommen 3. Nun wird man nach dem Root-password gefragt für den Single-User Modus 4. Enter drücken, um eine Shell zu erhalten 5. mit "fsck" allfällige beschädigte Filesysteme checken (nur bei Hardreset oder Stecker raus) 6. mit "mount" die Filesysteme wieder einhängen z.b. mount /dev/ad0s1a / 7. Sobald alle Filesysteme wieder eingehängt sind, ist auch der VI Editor wieder verfügbar, mit dem sich eventuelle Fehler in den Config-Dateien wieder glatt bügeln lassen 8. mit einem schnöden "exit" kommt man wieder in den Multiuser-Modus. Ob alles funktioniert, testen wir mit einem weiteren sbsd0001# shutdown now Wenn wir nun wieder beim login:-Promt sind, müssen wir uns als der Benutzer anmelden, der wir während der Installation angelegt haben. Danach müssen wir den Befehl su eingeben und darauf das root-Passwort, um wieder den Superuser root zu werden. Doch nun weiter mit dem Absichern unseres Systems. sbsd0001# vi /etc/sysctl.conf Zuerst kommen in der Datei /etc/sysctl.conf einige Kommentare, danach können wir mit unseren Ergänzungen loslegen. Wir kommentieren wir folgende Zeile aus (d.h. das # am Anfang der Zeile entfernen): security.bsd.see_other_uids=0 Oder für FreeBSD 4.8 kern.ps_showallprocs=0 Dadurch werden den Benutzern nur diese Prozesse angezeigt, von denen sie auch Besitzer sind. Nur root sieht weiterhin alle Prozesse (na ja, irgendwie logisch). Nun erstellen wir noch die Regeldatei für die IP-Firewall IPFW. Diese Regeln sind „dynamisch“ das heisst, wir können durch setzen von vier Variabeln die Firewall an unsere Anforderungen anpassen. Die vier Variabeln sind "interface", "dns_server", "open_tcpports" und "open_udpports“"(siehe weiter unten). Wir müssen nun unten in der Regeldatei interface="rl0" durch die Netzwerkkarte ersetzen, die tatsächlich im Rechner steckt sowie dns_server="193.192.227.3" durch den DNS-Server des eigenen Providers ersetzen. open_tcpports und open_udpports lassen wir wie unten, denn so werden nur die Ports geöffnet, die wir für unseren Fileserver benötigen. Dazu erstellen wir die Datei /etc/ipfwrules. sbsd0001# vi /etc/ipfwrules In die Datei tragen wir folgendes ein. Code:
sbsd0001# vi /etc/rc.conf Wir tragen folgendes ein: firewall_enable="YES" firewall_script="/etc/ipfwrules" firewall_logging="YES" Nun müssen wir /etc/syslog.conf bearbeiten, damit das Logging von abgelehnten Verbindungen auch richtig funktioniert. sbsd0001# vi /etc/syslog.conf Wo wir folgendes nachtragen: # IPFW !ipfw *.* /var/log/ipfw.log Nun legen wir die Logdatei ipfw.log noch an sbsd0001# touch /var/log/ipfw.log Zum Schluss müssen wir noch die Untersützung der Firewall in den Kernel einkompilieren. Wie das genau geschieht, beschreibe ich im nächsten Kapitel. 6. FreeBSD up to date halten Um ein sicheres System zu erhalten, ist es extrem wichtig, dass zuerst einmal das Basissystem auf dem neuesten Stand ist und somit die bekannten Sicherheitslücken gestopft sind. Dies ist in FreeBSD sehr einfach via CVSUP zu realisieren, da eine der grossen Stärken von FreeBSD ist, das System durch updaten des ganzen Betriebssystem vom Source Code zu aktualisieren. Dazu müssen wir zuerst CVSUP installieren. Da wir am Anfang der Installation die FreeBSD Ports auch installiert haben, schlage ich vor, installieren wir CVSUP über die Ports. Installieren von den Ports heisst, dass FreeBSD sich die Quellen auf vorgegeben Servern im Internet herunterlädt, kompiliert und für FreeBSD patcht. Dies macht die Ports zu einem so mächtigen Werkzeug. sbsd0001# cd /usr/ports/net/cvsup-without-gui sbsd0001# make install clean Dies installiert CVSUP ohne grafische Benutzeroberfläche für X-Window. Diese grafische Benutzeroberfläche benötigen wir auch nicht, da wir X-Window ja nicht installiert haben. Damit wir FreeBSD mit CVSUP updaten können, müssen wir zuerst eine Konfigurationsdatei erstellen, damit CVSUP weiss, was wir updaten wollen. Diese Datei erstellen wir unter /root also dem Home-Directory vom Superuser root. sbsd0001# vi /root/cvs-supfile In diese Datei schreiben wir folgendes rein: *default host=cvsup3.de.FreeBSD.org *default base=/usr *default prefix=/usr *default release=cvs *default delete use-rel-suffix *default compress src-all tag=RELENG_5_1 ports-all tag=. Dies weist CVSUP an, die Sourcen von FreeBSD 5.1 (RELENG_5_1) vom CVSUP Server cvsup3.de.FreeBSD.org herunterzuladen. Hier empfiehlt es sich einen schnellen CVSUP Server zu nehmen. Z.B. in der Nacht einen Server in Deutschland (de) bzw. Europa, während am Tag auch ein CVSUP Server in Amerika (da im Amiland dann ja Nacht ist) recht schnell sein kann. Nun führen wir folgenden Befehl als root (d.h. als root eingeloggt oder ein User, der mit su zu root wurde) aus: sbsd0001# /usr/local/bin/cvsup /root/cvs-supfile Damit werden die Sourcen heruntergeladen. Nachdem diese heruntergeladen wurden, müssen wir die Sourcen kompilieren und installieren. Man nennt dies „buildworld“. sbsd0001# cd /usr/src sbsd0001# make buildworld Das kompilieren und installieren der Sourcen dauert je nach Rechenleistung des Systems deftig lange (mit AMD-1.2 GHz Athlon brauchte ich 70 Minuten). Nachdem die Sourcen kompiliert und installiert sind, d.h. buildworld fertig ist. Gehen wir nun daran uns einen auf unser System massgeschneiderten Kernel zu backen. sbsd0001# cd /usr/src/sys/i386/conf sbsd0001# cp GENERIC MYKERNEL wobei MYKERNEL für den neugebauten Kernel steht, man kann irgendwas nehmen, ich nehme als Kernelname gerne den Typ und die Megahertz des Prozessors z.B. P3-800 für einen Pentium 3 mit 800 MHz. sbsd0001# vi MYKERNEL Bevor wir nun in diesem Konfigurationsfile herumwüten, lohnt es sich, im FreeBSD Handbook ein wenig nachzulesen, welche Optionen einkompiliert werden müssen oder sollten. Für Wissbegierige sei auch noch das File /usr/src/sys/i386/conf/NOTES genannt, in dem alle für die jeweilige Version gültigen Kerneloptionen aufgeführt sind. Hier jedoch, das Wichtigste, das man einkompilieren sollte: options SC_DISABLE_DDBKEY options SC_DISABLE_REBOOT options CPU_ENABLE_SSE options CPU_ATHLON_SSE_HACK options IPSEC options IPSTEALTH options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=100 Weiter empfehle ich, alle Gerätetreiber, die man nicht für seinen Rechner benötigt, auszukommentieren (mit einem # vor der jeweiligen Zeile). Schliesslich wird die Hardware bei einem Server nicht jeden zweiten Tag verändert, und wenn man etwas ändert, kann man schnell wieder einen neuen Kernel bauen. Nun müssen wir auch den neuen Kernel noch kompilieren: sbsd0001# cd /usr/src sbsd0001# make buildkernel KERNCONF=MYKERNEL Wenn der Kernel ohne Fehler kompiliert ist, können wir ihn installieren sbsd0001# make installkernel KERNCONF=MYKERNEL Nun ist der Kernel installiert und ein Neustart des Systems ist nötig um den neuen Kernel auch zu aktivieren. sbsd0001# reboot oder shutdown -r now Nachdem der Rechner neu gestartet ist, und wir wieder als root eingeloggt (d.h. wir loggen uns als User highfish ein, und werden dann mit dem Befehl su zum root-Benutzer) sind, können wir mit uname -a überprüfen, mit was für einem Kernel das System gerade läuft. Bevor wir die zuvor mit "buildworld" kompilierten Dateien auf unserem System installieren, lassen wir mergemaster durchlaufen, ein Tool, das verschiedene Dateiversionen erkennt und korrigiert. sbsd0001# mergemaster -p Nun installieren wir die kompilierten Dateien. Dafür müssen wir das System in den Single-User-Modus fahren. sbsd0001# shutdown now Nun müssen wir noch das root-Passwort eingeben und wir sind im Single-Mode. Dort geben wir folgendes ein, um die kompilierten Binaries zu installieren: sbsd0001# cd /usr/src sbsd0001# make installworld Bevor nun das Update vollständig ist, lassen wir nochmals das Mergemaster-Skript laufen sbsd0001# mergemaster Wir werden nun vom Skript gefragt, wie es mit gleichen Dateien unterschiedlichen Datums verfahren soll. Im Zweifelsfalle lassen wir Mergemaster nichts machen und sehen uns die Dateien mit VI einmal selber an. Nun ist wieder ein Neustart fällig sbsd0001# reboot oder shutdown -r now 7. FreeBSD Feintuning (Basissystem Sicherheit Teil 2) Zuerst sichern wir das root-Homeverzeichnis /root ab, so dass nur der Superuser root Zugriff hat und Dateien darin verändern oder löschen kann. sbsd0001# chmod 700 /root Nun kommen die Laufwerke dran, die beim Start von FreeBSD ins System eingebunden (gemounted) werden. Dazu editieren wir die Datei /etc/fstab. sbsd0001# vi /etc/fstab Dort ändern wir die Optionen folgendermassen: für /home rw,nosuid,nodev für /tmp rw,nosuid,noexec,nodev für /usr rw,nodev für /var rw,nosuid,noexec,nodev Was bedeutet das? rw = readwrite, das Dateisystem kann sowohl gelesen als auch beschrieben werden nosuid = keine Dateien können mit root-Rechten (su) ausgeführt werden noexec = keine Dateien können ausgeführt werden nodev = Dateien können keine Device-Treiber sein, d.h. werden unnötige Direktzugriffe auf die Hardware des Systems vermieden Noch eine Anmerkung dazu: Wenn man nun im Multi-User-Modus ein "make installworld" durchführen möchte, kann dies durch obige Restriktionen zu Fehlern führen. D.h. sollte man vor einem "make installworld" immer das System in den Single-User-Modus fahren. Nun zu den temporären Speicherplätzen im System. Da haben wir zum einen /var/tmp und zum anderen /tmp. Da wir eigens ein Slice für /tmp eingerichtet haben, ist es sinnvoll, alle temporären Dateien auch dort abzulegen. Deshalb kreieren wir für /var/tmp einen Symlink. Das heisst, Dateien, die von Anwendungen nach /var/tmp geschrieben werden, werden umgeleitet und abgespeichert unter /tmp. sbsd0001# cd /var sbsd0001# rm -R tmp sbsd0001# ln -s /tmp /var/tmp Bevor wir nun weiterfahren, unser System abzusichern, erachte ich es als sinnvoll, an dieser Stelle die für unseren Server benötigten Programme Samba (das Fileserverprogramm), Webmin 1.121 (Webkonfigurationstool) und isc-dhcp3 (der dhcp-Server) zu installieren und zu konfigurieren. 8. Installation und Konfiguration von Samba 3.0.0 und Webmin 1.121 Zuerst müssen wir die Samba-Suite auf unserem System installieren. Dies machen wir wie oben mit CVSUP über die Ports. sbsd0001# cd /usr/ports/net/samba-devel sbsd0001# make install clean Wenn Samba fertig installiert ist, fahren wir das System schnell mal wieder in den Single-User Modus und zurück, damit die soeben installierten Programme der Samba Suite zur Verfügung stehen. sbsd0001# shutdown now Nun stellen wir als erstes FreeBSD so ein, dass Samba beim Starten des Systems mitgestartet wird. sbsd0001# cd /usr/local/etc/rc.d sbsd0001# cp samba.sh.sample samba.sh Mit der Samba-Suite wird auch CUPS, das Common UNIX Printing System, mitinstalliert. Dieses benötigen wir, falls wir Drucker über Samba einrichten und benutzen wollen. Also stellen wir auch hier sicher, dass CUPS beim Aufstarten von FreeBSD gestartet wird. sbsd0001# cp cups.sh.sample cups.sh Bevor wir an die Konfiguration der Samba-Konfigurationsdatei /usr/local/etc/smb.conf gehen, legen wir die Benutzer auf dem FreeBSD System an. Die Benutzer, die sich später einmal an den Windows-Clients einloggen sollen, legen wir wiederum mit /stand/sysinstall an. sbsd0001# /stand/sysinstall FreeBSD Configuration Menu -> User Management -> User (siehe Kapitel 3. Was muss der Server können? Allgemeine Gedanken zum Netzwerk) Login ID: u01 UID: 1002 (oder was das System gerade vorgibt) Group: 1100 (die Gruppe smb-users, die wir bei der Installation angelegt haben) Password (kein Passwort, da der Benutzer sich sowieso nicht am System anmelden kann) Full Name: Fritz Muster (oder was weiss ich, dies wird jedoch in Windows auch verwendet, z.b. wenn der Client gelockt ist, wird angezeigt, was hier eingegeben wurde. Also: „Only SAMBA\u01 (Fritz Muster) or an administrator can unlock this computer“) Member groups: Home directory: /home/u01 (wird automatisch eingetragen) Login shell: /sbin/nologin (somit kann sich der User nicht direkt am System anmelden) Weitere Benutzer die sich an den Windows-Clients anmelden sollen, muss man analog zum obigen anlegen. Wenn wir alle Benutzer angelegt haben, können wir sysinstall wieder verlassen. Da wir ja ein „Primary Domain Controller“ PDC machen, müssen, wie in Windows NT, die Computer selbst auch ein Benutzerkonto auf der FreeBSD Maschine haben. Ein sogenannter Machine Account. Diesen legen wir auf der Kommandozeile mit dem Befehl pw an. sbsd0001# pw useradd wwxp0001$ -g 1200 –c wwxp0001 –d “/nonexistent“ –s „/sbin/nologin” Pw = Befehl (Programm) pw Useradd = besagt dem Programm pw, dass es einen neuen Benutzer anlegen soll wwxp0001$ = der anzulegende Benutzer. D.h. die Windows-Workstation wwxp0001 (dies muss identisch sein, mit dem Computername in Windows). Das $-Zeichen ist notwendig, dass Samba daraus ein Machine Account machen kann. -g = Gruppe 1200 (smb-workstations Gruppe, die wir bei der Installation angelegt haben) -c = Kommentar (ich wähle immer den Computername, d.h. wwxp0001) -d „/nonexistent“ = Das Homedirectory ist „/nonexistent“, d.h. es wird kein Homedirectory angelegt -s „/sbin/nologin“ = Der Benutzer bekommt keine Login-shell, kann sich also nicht am FreeBSD Server anmelden via Telnet oder SSH. Nun zur zentralen Konfigurationsdatei /usr/local/etc/smb.conf. Wir legen diese Datei zuerst als leere Datei im Verzeichnis /usr/local/etc an. sbsd0001# touch /usr/local/etc/smb.conf Man kann diese Konfigurationsdatei von Hand anpassen, das ist klar. Jedoch stellt die Samba-Suite ein gutes Webtool namens SWAT zur Verfügung, das ich gerne für die Erstkonfiguration des Servers verwende. Durch zwei konzeptionelle Schwächen was die Sicherheit anbelangt, disqualifiziert sich jedoch SWAT als Administrationstool. Zum einen werden Passwörter im Klartext vom Browser zum Server gesendet (klar, das könnte man mit Stunnel noch verschlüsseln) und zum anderen muss man sich zur Administration des Servers via SWAT mit dem root Account (dem UNIX-root Account) und root Passwort anmelden. Da wir nicht ganz auf SWAT verzichten wollen, installieren wir an dieser Stelle das Web-Konfigurationstool Webmin aus dem Ports, mit dem wir diverse Einstellungen unseres Servers ändern können und unter anderem (via SSL getunnelt) auf SWAT zur Samba-Konfiguration zurückgreifen können. sbsd0001# cd /usr/ports/sysutils/webmin sbsd0001# make install clean Nachdem Webmin aus dem Ports installiert wurde, startet automatisch ein Konfigurationsskript, mit dem wir Webmin an unsere Wünsche anpassen können. Config file directory [/usr/local/etc/webmin]: enter drücken Log file direcotry [/var/log/webmin]: enter drücken Full path to perl (default /usr/bin/perl): enter drücken Web server port (default 10000): enter drücken Login name (default admin): highfish (oder was weiss ich) Login password: Beliebiges Passwort, jedoch _NICHT_ das gleiche wie der Unix-Benutzer highfish hat! Password again: Passwort wiederholen Use SSL (y/n): y Nun starten wir Webmin mit dem folgenden Befehl: sbsd0001# sh /usr/local/etc/rc.d/webmin.sh-dist start Dadurch wird Webmin gestartet und bleibt bis zum nächsten reboot oder shutdown now aktiv. Danach muss Webmin wieder mit obigem Befehl gestartet werden, Dies damit Webmin nicht immer läuft, sondern bei Bedarf zuerst von der Konsole oder SSH gestartet werden muss. Nun können wir uns auf einem beliebigen PC mit Internet Explorer oder Netscape bei Webmin einloggen. Wir geben dazu in der Adresszeile des Browsers folgendes ein: https://192.168.1.5:10000 Darauf zeigt uns der Browser ein Zertifikat, das wir annehmen. Nach der Eingabe von Username und Passwort landen wir im Obermenü Webmin wo wir Webmin an unsere Wünsche anpassen können. Wir klicken auf „Change Language and Theme“ und wählen bei „Webmin UI language“ -> „Personal Choice“ die Sprache die uns am besten liegt. Mit einem Klick auf „Make Changes“ werden die Änderungen aktiv. Als nächstes klicken wir auf „Webmin-Benutzer“ und dort auf dem Namen des bei der Installation von Webmin angelegten Benutzers. In meinem Falle war das highfish. Webmin zeigt uns nun die Webmin-Benutzerzugriffsrechte. Bei den Modulen versehen wir nur Webmin-Benutzer und Windows Dateifreigabe mit einem Häkchen, alle anderen wählen wir nicht und klicken nun auf Speichern. Dadurch wird die Gefahr geringer, dass wir via Webmin versehentlich etwas am System verändern. Danach müssen wir diese Konfiguration noch speichern, in dem wir ganz unten auf speichern klicken. Nun klicken wir oben links auf „Server“ und wählen dann „Windows-Dateifreigabe“. Darauf wählen wir auf der rechten Seite SWAT. Nun müssen wir uns mit dem Unix-root Account und Passwort anmelden und kommen nun endlich ins SWAT-Konfigurationstool, welches nun auch über SSL getunnelt ist. Dort klicken wir zuerst auf die Schalfläche „Wizard“ wo wir die Grobkonfiguration von Samba machen können. Server Type: Domain Controller Configure WINS As: Server for client use Expose Home Directories: yes Danach klicken wir auf den “Commit“-Button. Nun klicken wir auf die Schaltfläche „Globals“ wo wir die sogenannte [global]-Sektion von Samba konfigurieren können, d.h. alle Parameter, die für alle Benutzer, Drucker und Freigaben gelten sollen. Zuerst klicken wir auf dem „Advanced View“-Button, um alle Einstellungsmöglichkeiten zu sehen. Nun stellen wir folgende Parameter ein. workgroup = SAMBA (oder wie die NT-Domäne heissen soll) netbios name = SBSD0001 (oder wie der Name des Servers ist) [i]server string = analog zu netbios name passdb backend = tdbsam logon script = logon.cmd (oder wie auch immer, da komme ich später noch dazu) logon path = \\%L\profiles\%U (dies wird für die Roaming Profiles benötigt) logon drive = p: (Das Homedrive des Benutzers wird unter Windows an den Laufwerksbuchstaben p: gebunden) logon home = \\%L\%U (dies wird benötigt, damit Samba weiss, welches das richtige Homeverzeichnis des Benutzers ist.) os level = 65 (ich wähle 65 damit der Server gegen etwaige Windows-Server gewinnt was browsing anbelangt) preferred master = yes (wird zusammen mit domain master benötigt, damit der Samba-Server der Master-Browser wird.) domain master = yes (siehe Preferred master) Wenn wir das eingestellt haben, klicken wir oben auf „Commit Changes“ Nun klicken wir auf die Schaltfläche „Shares“, um neue Freigaben zu erzeugen. Wir geben Netlogon als Sharename ein und klicken auf „Create Share“ Weiter geben wir folgendes ein: comment = Netlogon (Kommentar, der das Share beschreibt) path = /usr/data/netlogon (Unix-Verzeichnis, wo Daten in diesem Share abgespeichert werden) browseable = no (no damit dieses Share in der Netzwerkumgebung nicht erscheint) Und können mit einem Klick auf „Commit Changes“ unser Netlogon-Share (das übrigens zwingend für unseren Server benötigt wird) erstellen. Damit die roaming Profiles von Windows auch funktionieren, legen wir ein Share mit dem Namen Profiles an. Wir geben Profiles als Sharename ein und klicken wieder auf „Create Share“. Wir klicken auf „Advanced View“ und ändern folgende Parameter comment = Profiles path = /usr/data/profiles read only = no (d.h. ist das Share auch zum Schreiben freigegeben) create mask = 0600 (beschreibt, mit welchen Rechten eine Datei angelegt wird) security mask = 0600 (wird benötigt, wenn ein Benutzer durch eine NT Dialogbox die Rechte einer Datei ändern will) directory mask = 0700 (beschreibt, mit welchen Rechten ein Verzeichnis angelegt wird) directory security mask = 0700 (wird benötigt, wenn ein Benutzer durch eine NT Dialogbox die Rechte eines Verzeichnisses ändern will) browseable = no (no damit dieses Share in der Netzwerkumgebung nicht erscheint) Nun kreieren wir eine Datenaustauschfreigabe, auf die alle Benutzer Lese und Schreibzugriff auf alle Files haben, auch wenn diese Dateien ursprünglich einem anderen Benutzer gehörten. Wir geben z.b. Highfish als Sharename ein und klicken wieder auf „Create Share“. Wir klicken auf „Advanced View“ und ändern folgende Parameter comment = Highfish Group Drive path = /usr/data/highfish read only = no create mask = 0777 directory mask = 0777 Nun erstellen wir noch ein Share mit dem Namen “Data”, auf das nur der Benutzer u01 schreiben darf, jedoch alle lesen dürfen. Wieder auf „Advanced View“ klicken und folgendes ändern: comment = Data path = /usr/data/data write list = u01 (dieser Benutzer hat Schreibrechte auf das Share) security mask = 0744 directory security mask = 0755 Weiter müssen wir noch das “homes”-Share, das die Homeverzeichnisse zur Verfügung stellt, ein bisschen anpassen. create mask = 0700 security mask = 0700 directory mask = 0700 directory security mask = 0700 veto files = /.*/ (Dateien mit einem Punkt vor dem Dateinamen werden unter Windows nicht angezeigt) Ich habe Parameter, die bei den verschiedenen Shares gleich sind, nicht mehrmals beschrieben, um die Unterschiede der Shares hervorzuheben. Nun müssen wir die Verzeichnisse noch unter FreeBSD erstellen sbsd0001# cd /usr/data sbsd0001# mkdir netlogon profiles highfish data Nun müssen wir dazu auch noch die Zugriffsrechte auf diese Verzeichnisse setzen. sbsd0001# chmod 777 netlogon profiles highfish data Die Verzeichnisse für das [homes] share wurden bereits angelegt, als wir die jeweiligen Benutzer anlegten. Nachdem wir weiter oben alle Benutzer und Machine Accounts auf der FreeBSD Seite angelegt haben, müssen wir die Benutzer nun noch auf der Samba-Seite anlegen. Dies machen wir mit dem Programm pdbedit. sbsd0001# pdbedit –a –u root Dies kreiert den Samba-Account für den Superuser root und fordert uns auf, ein smb-Passwort für root zu setzen. Ich empfehle, hier NICHT das gleiche Passwort zu verwenden, wie wir bei der Installation in Kapitel 4 für root gesetzt haben. Wir benötigen diesen Benutzer nur, wenn wir Computer in die Windows-Domäne aufnehmen wollen. Der Benutzer root sollte sich auch über Samba nicht am Fileserver anmelden. Nun fügen wir wie oben die anderen Benutzer hinzu. Jedoch nur die Benutzer, die sich später über Windows am Server anmelden sollen, nicht die Machine-Accounts. sbsd0001# pdbedit –a –u u01 Jetzt fügen wir mit folgendem Befehl die Machine-Accounts hinzu: sbsd0001# pdbedit –a –m –u wwxp0001 Das $-Zeichen hinter dem eigentlichen Computernamen ist hier nicht mehr nötig. Jetzt verknüpfen wir die von Samba automatisch angelegten NT-Domänen-Benutzergruppen mit den entsprechenden Benutzergruppen von FreeBSD sbsd0001# net groupmap add ntgroup=“Domain Admins” UNIXgroup=smb-admin sbsd0001# net groupmap add ntgroup=“Domain Users” UNIXgroup=smb-users Nun noch zur Windows-Batchdatei logon.cmd (man kann sie auch logon.bat taufen). Diese Datei wird von Windows ausgeführt, wenn sich ein Benutzer an unserem Server anmeldet. Daher muss diese Datei auch im Windows-Textdateiformat vorliegen und nicht als Unix-Textdatei. Ich empfehle deshalb, diese Datei auf einem Windows-Rechner zu erstellen. Man kann in mit dieser Datei zum Beispiel Netzlaufwerke automatisch verbinden lassen oder die Zeit mit unserem FreeBSD Server synchronisieren NET USE * \\SBSD0001\DATA (verbindet das Netzlaufwerk SBSD0001\DATA mit dem nächsten freien Laufwerksbuchstaben unter Windows) NET TIME \\SBSD0001 /SET /Y(synchronisiert die Zeit mit unserem FreeBSD Server) 9. Installation und Konfiguration des DHCP Servers ISC-DHCP3 Wie schon oben in Kapitel 3 erwähnt, ist der ISC-DHCP3 des Internet Software Consortiums dazu da, TCP/IP Adressen automatisch an Clients zu vergeben. Dabei spielt es keine Rolle, ob diese Clients Windows, Unix oder was weiss ich für Clients sind. Wichtig 29.06.2004: den ISC-DHCP3 unbedingt auf Version 3.0.1rc14 updaten, da in den älteren Versionen zwei Sicherheitslücken enthalten sind! Den ISC-DHCP3 installieren wir wieder über die Ports. sbsd0001# cd /usr/ports/net/isc-dhcp3-server sbsd0001# make install clean Wie bei Samba und CUPS müssen wir wieder dafür sorgen, dass der ISC-DHCP3 beim Start des Systems gestartet wird. sbsd0001# cd /usr/local/etc/rc.d sbsd0001# cp isc-dhcpd.sh.sample isc-dhcpd.sh Damit der ISC-DHCP3 auch mit den richtigen Parametern gestartet wird, müssen wir wieder die /etc/rc.conf bearbeiten. sbsd0001# vi /etc/rc.conf Dort tragen wir folgendes ein: dhcpd_enable="YES" dhcpd_flags="-q" dhcpd_conf="/usr/local/etc/dhcpd.conf" dhcpd_ifaces="" dhcpd_umask="022" dhcpd_chuser_enable="YES" dhcpd_withuser="dhcpd" dhcpd_withgroup="dhcpd" dhcpd_chroot_enable="YES" dhcpd_rootdir="/var/db/dhcpd" Nun müssen wir einen Benutzer dhcpd und eine Gruppe dhcpd anlegen. wir machen das wieder über das Tool /stand/sysinstall. sbsd0001# /stand/sysinstall FreeBSD Configuration Menu -> User Management -> Group Group name: dhcpd GID: 1201 FreeBSD Configuration Menu -> User Management -> User Login ID: dhcpd UID: 1010 (egal, einfach das was gerade angezeigt wird) Group: 1201 Password: keines, da sich Benutzer nicht am System anmelden soll Full Name: dhcpd Member groups: Home directory: /nonexistent Login shell: /sbin/nologin Nun müssen wir noch das Konfigurationsfile dhcpd.conf des ISC-DHCP3 an unsere Bedürfnisse anpassen. Da wir jedoch nicht die Original Konfigurationsdatei verändern wollen, kopieren wir diese zuerst. sbsd0001# cp /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf Nun öffnen wir sie mit VI. sbsd0001# vi /usr/local/etc/dhcpd.conf In dieser Datei ändern wir folgendes, bzw. fügen folgende Zeilen ein. option domain-name „highfish.info“; option domain-name-servers 193.192.227.3 , 195.141.56.5; Die obigen Linien sind allgemein gültig fürs ganze Netzwerk, und geben den Domain Name bzw. die Domain Name Server vor. 193.192.227.3 und 195.141.56.5 sind die primären bzw. sekundären DNS-Server von Sunrise (www.sunrise.ch), bitte durch die DNS-Server des jeweiligen Providers ersetzen. default-lease-time 600; (eine per DHCP bezogene Adresse, ist normal 10 Minuten gültig) max-lease-time 7200; authoritative; (da unser DHCP-Server der offizielle DHCP-Server in unserem Netz ist) ddns-update-style none; log-facility local7; Die nun folgenden Zeilen beschreiben das Subnetz 192.168.1.0. subnet 192.168.1.0 netmask 255.255.255.0 { (Subnetz bzw. Subnetzmaske) range 192.168.1.12 192.168.1.100; (im Bereich 192.168.1.12 – 192.168.1.100 werden IP-Adressen per DHCP verteilt) option routers 192.168.1.1; (der Router den die Clients für ins Internet nehmen) option netbios-name-servers 192.168.1.5; (WINS-Server im Netz, logischerweise unsere FreeBSD Samba Maschine) option ntp-servers 192.168.1.5; (NTP-Server im Netz, ebenfalls der FreeBSD-Rechner) } Die nun folgenden Zeilen werden benötigt, wenn man einem bestimmten PC immer die gleiche IP-Adresse per DHCP zuteilen möchte host wwxp0001 { (Name des Hosts) hardware Ethernet 00:3C:F0:FF:23:03; (MAC-Adresse der Ethernetkarte, kann z.b. unter Windows mit ipconfig /all ermittelt werden) fixed-address 192.168.1.10; (die fixe Adresse die der Rechner bekommen soll) } Alle anderen Zeilen in der Datei /usr/local/etc/dhcpd.conf müssen mit einem # auskommentiert werden. Nun können wir mit shutdown now und anschliessendem hochfahren in den Multi-User-Modus den DHCP-Server in betrieb nehmen. sbsd0001# shutdown now 10. Konfiguration des NTP (Network Time Protocol) Servers von FreeBSD Der NTP-Server ntpd wird standardmässig mit FreeBSD installiert, wir müssen nur noch sicherstellen dass der NTP Server beim Aufstarten des Systems gestartet wird: Dazu editieren wir wieder die /etc/rc.conf: sbsd0001# vi /etc/rc.conf Dann fügen wir folgende Zeile ein und speichern die /etc/rc.conf danach. xntpd_enable="YES" Nun müssen wir noch die NTP-Konfigurationsdatei erstellen: sbsd0001# vi /etc/ntp.conf Dort fügen wir folgendes ein: server ntp1.fau.de prefer server swisstime.ethz.ch driftfile /var/db/ntp.drift Ich habe ntp1.fau.de als bevorzugten NTP Server genommen, weil er laut Beschreibung NTP V3 unterstützt, was der Server swisstime.ethz.ch scheinbar nicht tut. Weitere NTP Server sind auf folgenden Sites aufgeführt: Primäre: http://www.eecis.udel.edu/~mills/ntp/clock1a.html Sekundäre: http://www.eecis.udel.edu/~mills/ntp/clock2a.html 11. FreeBSD Feintuning (Basissystem Sicherheit Teil 3) Nachdem wir nun alle unsere benötigten Programme installiert und konfiguriert haben, können wir weiter daran gehen, unser System abzusichern. Dafür verwenden wir das Kommando chflags um Dateien zu schützen, die nie modifiziert werden sollen. sbsd0001# chflags schg /bin/* sbsd0001# chflags schg /sbin/* sbsd0001# chflags schg /usr/sbin/* Damit sichern wir ebenfalls unseren Kernel. Jedoch gilt zu beachten, dass wenn wir einen neuen Kernel bauen und installieren, dieses Flag wieder neu setzen müssen. sbsd0001# chflags schg /boot/kernel Nun legen wir die Datei /boot.config an, mit Hilfe derer man beim Aufstarten des Systems den Kernel ändern kann. Um dies zu verhindern setzen wir bei dieser Datei ebenfalls das schg Flag. sbsd0001# touch /boot.config sbsd0001# chflags schg /boot.config Nun setzen wir auch andere Zugriffsrechte auf unsere Logdateien unter /var/log sbsd0001# cd /var/log sbsd0001# chmod 600 * Ebenso auf diverse andere Systemverzeichnisse und Systemdateien sbsd0001# chmod 600 /etc/crontab sbsd0001# chmod 700 /root sbsd0001# chmod 700 /home/* sbsd0001# chmod 650 /etc/rc.* sbsd0001# chmod 600 /etc/master.passwd Nun müssen wir noch unseren Remote-Zugang via SSH konfigurieren. sbsd0001# vi /etc/ssh/sshd_config Dort fügen wir folgendes ein: Code:
sbsd0001# echo “ssh:*:1010:highfish” >> /etc/group Um von Windows aus via SSH auf unseren Server zugreifen zu können, benötigen wir einen SSH Client für Windows. Ich nehme dazu immer PuTTY. Es ist ein Freeware Tool und kann z.B. hier heruntergeladen werden: http://www.chiark.greenend.org.uk/~s.../download.html Nocheinmal editieren wir /etc/rc.conf sbsd0001# vi /etc/rc.conf Zuerst die RFC1323 extensions für TCP/IP abschalten tcp_extensions="NO" Last but no least schauen wir noch, ob die folgenden beiden Parameter gesetzt sind. kern_securelevel_enable=“YES“ kern_securelevel=”0“ Nun können wir einmal eine Sicherheitskopie von /etc anlegen, wo die meisten unserer Konfigurationsdateien abgelegt sind. sbsd0001# tar –cvvpzf /root/etc.tar.gz /etc sbsd0001# chmod 600 /root/etc.tar.gz Nun verschlüsseln wir die soeben angelegte Datei mit dem Blowfish-Algorithmus sbsd0001# openssl enc –blowfish –in /root/etc.tar.gz –out /root/etc.tgz.bf Das gleiche machen wir mit den Dateien unter /usr/local/etc wo die Konfigurationsdateien und Startupskripte von Samba und Webmin lagern. sbsd0001# tar –cvvpzf /root/usr.local.etc.tar.gz /usr/local/etc sbsd0001# chmod 600 /root/usr.local.etc.tar.gz Auch diese verschlüsseln wir natürlich. sbsd0001# openssl enc –blowfish –in /root/usr.local.etc.tar.gz –out /root/usr.local.etc.tgz.bf Zum entschlüsseln von /etc verwenden wir folgenden Befehl: openssl enc –d –blowfish < /root/etc.tgz.bf | tar –xzf – Beziehungsweise für /usr/local/etc openssl enc –d –blowfish < /root/usr.local.etc.tgz.bf | tar –xzf – Nun können wir die zuerst angelegten *.tar.gz Dateien wieder löschen sbsd0001# rm /root/etc.tar.gz sbsd0001# rm /root/usr.local.etc.tar.gz 12. Ein paar Anmerkungen zu Zugriffsrechten unter FreeBSD Zugriffsrechte Um die verschiedenen möglichen Zugriffsrechte zu demonstrieren machen wir z.B. unter /root ein ls –la sbsd0001# cd /root sbsd0001# ls –la Nun kommt unter anderem etwas im folgenden Stil heraus -r-xr-xr-x 1 root wheel 186 Oct 17 18:08 cvs-supfile Das heisst aufgeschlüsselt folgendes -r-xr-xr-x = Zugriffsrechte 1 = Anzahl Links root = Dateibesitzer wheel = Benutzergruppe 186 = Dateigrösse Oct 17 18:08 = Zeit wenn die Datei das letzte Mal geändert wurde cvs-supfile = Name der Datei Doch nun zu den Zugriffsrechten in diesem Falle –r-xr-xr-x. Diese können wir in vier Teile unterteilen: - r-x r-x r-x Dateityp Rechte Dateibesitzer Rechte Benutzergruppe Rechte Dritte Mögliche Dateitypen: - = normale Datei d = Verzeichnis l = Link s = Socket) Mögliche Rechte: r = read (lesen w = write (schreiben) x = execute (ausführen) Man kann ein solches r-x nun auch im Binärformat als 101 verstehen. Wenn wir dies nun ins Oktalsystem konvertieren kommt 5 dabei heraus (Einfach nachzuvollziehen mit dem Rechner von Windows). Das heisst obiges File cvs-supfile hat im Oktalsystem die Rechte 555 (binär: 101101101). Für unsere drei Rechte read, write und execute gilt daher folgendes: Read: binär 100 -> Oktal 4 Write binär 010 -> Oktal 2 Execute binär 001 -> Oktal 1 Natürlich können wir dies nun auch kombinieren: Oktal für rwx: 4 + 2 + 1 = 7 Oktal für rw-: 4 + 2 + 0 = 6 Oktal für r-w: 4 + 0 + 1 = 5 Oktal für ---: 0 + 0 + 0 = 0 Mit diesen Oktalwerten operieren wir auch, wenn wir die Zugriffsrechte einer Datei ändern wollen. Dafür nehmen wir das Kommando chmod. Wenn wir jetzt folgendes eingeben: chmod 755 cvs-supfile hat die Datei nachher die Rechte –rwxr-xr-x. Hier ein paar Beispiele über gängige Rechte, die mit dem Befehl chmod angewendet werden können: Dateityp Rechte Dateibesitzer Rechte Benutzergruppe Rechte Dritte chmod 777 = rwx rwx rwx chmod 755 rwx r-x r-x chmod 744 rwx r-- r— chmod 650 rw r-x --- chmod 600 rw --- --- Datei- und Verzeichnisflags Das chflags Kommando ist sehr nützlich, wenn wir die Sicherheit unseres Systems optimieren. Mit diesem Kommando kann man diverse Restriktionen auf eine Datei setzen, übergeordnet den eigentlichen Zugriffsrechten. Sappnd – setzt das system append-only flag (nur root) Es kann nur gesetzt oder entfernt werden von root. In Dateien, die mit diesem Flag ausgeschmückt sind, kann nur hinzugefügt werden. Jedoch können sie weder gelöscht noch sonstwie editiert werden. Schg – setzt das system unveränderlich flag (nur root) Auch das kann nur von root gesetzt oder entfernt werden. Solche Dateien können weder geändert, noch verschoben oder gelöscht werden. Der Kernel verhindert, dass diese Dateien in irgend einer Art verändert werden können. Um diese Flags von einer Datei zu entfernen müssen wir nur ein „no“ vor das Flag setzen. Also nosappnd bzw. noschg. Jedoch kann ein solches Flag nicht entfernt werden, wenn das System mit securelevel 1 oder höher arbeitet. 13. Konfiguration von Windows XP Professional als Domänen-Mitglied Windows XP ist insofern ein Spezialfall, da wir noch einen Wert in der Registry ändern müssen, damit wir uns an unserem FreeBSD Server anmelden können. Also Start – Ausführen klicken. Dann bei Öffnen regedit eingeben für den Registrierungseditor. Im Editor mit Ctrl-F nach dem Schlüssel requiresignorseal suchen. Danach den Wert von 1 auf 0 setzen. Falls wir die Zeit unserer Clients mit dem Server abgleichen wollen, müssen wir in der lokalen Sicherheitsrichtlinie auch noch eine Änderung machen. Diese ist zu finden unter Systemsteuerung – Verwaltung – Lokale Sicherheitsrichtlinie – Lokale Richtlinien – Zuweisen von Benutzerrechten – Ändern der Systemzeit Dort wählen wir Benutzer oder Gruppe hinzufügen und klicken dann auf erweitert. Nun ein Klick auf Objekttypen und ein Hacken bei Gruppen setzen. Danach auf Ok und auf „Jetzt suchen“ klicken. Danach erscheint eine Login-Maske, wo wir uns mit einem Benutzerkonto der Domäne z.B. u01 (oder was auch immer) anmelden müssen. Danach wählen wir unten die Gruppe Domain-Users aus und bestätigen alles mit OK. Nun wird bei jedem Login am Windows XP Client die Uhrzeit mit dem Server synchronisiert, wenn wir ein entsprechendes Logon-Skript geschrieben haben. 14. Maintenance des Servers Mit der zunehmenden Laufzeit des Servers muss dieser auch unterhalten werden, so müssen beispielsweise Security Patches eingespielt werden, neue Versionen von FreeBSD erscheinen oder neue Versionen der verwendeten Ports sind verfügbar und man möchte seinen Server daher updaten. 14.1 Vorbereitungen für das Update Wenn man nicht nur das FreeBSD Basissystem updaten möchte, sondern auch noch gleich die neuesten Programmversionen der verwendeten Programme Samba, Webmin und ISC-DHCP einspielen möchte, empfehle ich die jeweiligen Programme zuerst über die Ports zu deinstallieren. Hierbei ist es vorteilhaft dass man die Konfigurationsdateien dieser Programme sicherheitshalber nach /root kopiert, man kann ja nie wissen… Beispielsweise smb.conf sbsd0001# cp /usr/local/etc/smb.conf /root/smb.conf Dies erstellt eine Kopie der smb.conf im Verzeichnis /root. sbsd0001# cd /usr/ports/net/samba-devel sbsd0001# make deinstall clean Dies deinstalliert das in der ursprünglichen Version dieses Howtos verwendete Samba 3.0.0. Neuere Versionen von Samba 3.0.X sind neu unter /usr/ports/net/samba3 zu finden sbsd0001# cd /usr/ports/net/isc-dhcp3 sbsd0001# make deinstall clean Deinstalliert den im ursprünglichen Howto verwendeten ISC-DHCP3. Der neue ist nun unter /usr/ports/net/isc-dhcp3-server zu finden. Ebenso für webmin sbsd0001# cd /usr/ports/sysutils/webmin sbsd0001# make deinstall clean 14.2 Updaten des FreeBSD Basissystems Eigentlich wird dies bereits mehr oder weniger im Kapitel 6. „FreeBSD up to date halten“ beschrieben. Da man sich daran jedoch ganz dolle die Finger verbrennen kann und unter Umständen seinen Server total neu aufsetzen muss beschreibe ich es hier noch einmal. Zuerst müssen Sicherheitseinstellungen wieder rückgängig gemacht werden, um das System updaten zu können. Das heisst zuerst ist wieder die /etc/fstab dran. sbsd0001# vi /etc/fstab Dort ändern wir die Optionen folgendermassen: für /home rw für /tmp rw für /usr rw für /var rw Ebenfalls rückgäng machen müssen wir das Setzen von ein paar schg-Flags. sbsd0001# chflags noschg /bin/* sbsd0001# chflags noschg /sbin/* sbsd0001# chflags noschg /usr/sbin/* sbsd0001# chflags noschg /boot/kernel Nun wieder das cvs-supfile editieren mit VI. sbsd0001# vi /root/cvs-supfile Dort ist vor allem folgende Zeile wichtig. src-all tag=RELENG_5_1 Denn diese Zeile besagt, auf welche Version wir updaten wollen, bzw. für welche Version Sicherheitspatches eingespielt werden müssen. Falls man noch FreeBSD 5.1 installiert hat, würde ich hier mal raten, ganz auf das aktuelle FreeBSD 5.2.1 umzustellen. Also src-all tag=RELENG_5_2 Wichtig: Bei Updates auf unterschiedliche Versionen (also hier 5.1 und 5.2.1) unbedingt die Release Notes und den Early Adopter’s Guide auf der FreeBSD Homepage www.freebsd.org lesen! Sonst kann man beim Upgrade deftig ins Messer laufen! Nachdem wir /root/cvs-supfile angepasst haben, lassen wir wieder CVSUP durchlaufen. sbsd0001# /usr/local/bin/cvsup /root/cvs-supfile Nun kommt wieder der „buildworld“. sbsd0001# cd /usr/src sbsd0001# make buildworld Nun wieder einen Kernel bauen. Falls man nur Sicherheitspatches eingespielt hat, oder man sicher ist, dass man bei einem Versionswechel nichts Neues im Kernel haben will, kann man wieder die alte MYKERNEL (siehe Kapitel 6) Datei kompilieren. sbsd0001# cd /usr/src sbsd0001# make buildkernel KERNCONF=MYKERNEL Neugebackenen Kernel installieren. sbsd0001# make installkernel KERNCONF=MYKERNEL Neustarten. sbsd0001# reboot oder shutdown -r now System in den Single-User-Modus fahren. sbsd0001# shutdown now Nun müssen wir noch das root-Passwort eingeben und wir sind im Single-Mode. Mergemaster durchführen. sbsd0001# mergemaster -p Kompilierte Binaries installieren: sbsd0001# cd /usr/src sbsd0001# make installworld Mergemaster Teil 2 durchführen. sbsd0001# mergemaster Nun ist wieder ein Neustart fällig. sbsd0001# reboot oder shutdown -r now Somit ist das Basissystem inkl. Ports wieder up to date und wir können die Securityeinstellungen nach dem Neustart wieder vornehmen. sbsd0001# chflags schg /bin/* sbsd0001# chflags schg /sbin/* sbsd0001# chflags schg /usr/sbin/* sbsd0001# chflags schg /boot/kernel sbsd0001# vi /etc/fstab Dort ändern wir die Optionen wieder wie folgt: für /home rw,nosuid,nodev für /tmp rw,nosuid,noexec,nodev für /usr rw,nodev für /var rw,nosuid,noexec,nodev 14.3 Updaten der Programme Samba, Webmin und ISC-DHCP3 Eigentlich ist das Updaten der Programme simpel. Nachdem Updaten des Basissystems inkl Ports einfach die Programme wieder aus den Ports einspielen. Samba 3.0.X sbsd0001# cd /usr/ports/net/samba3 sbsd0001# make install clean ISC-DHCP3 sbsd0001# cd /usr/ports/net/isc-dhcp3-server sbsd0001# make install clean Webmin sbsd0001# cd /usr/ports/sysutils/webmin sbsd0001# make install clean Jedoch gilt zu beachten, dass die Programme mit neuen Versionen auch neue Funktionen enthalten können bzw. dass alte nicht mehr vorhanden sind. Somit läuft unser Fileserver nach dem Upgrade auch evtl. nicht mehr. Leider würde es den Umfang dieses Howtos sprengen, immer wieder auf neue Programmversionen einzugehen. Ich kann jedoch sagen, dass ich ein Upgrade von FreeBSD 5.1 auf FreeBSD 5.2.1 und den neuesten Versionen von Samba, Webmin und dem ISC-DHCP3 ohne unlösbare Probleme überstanden habe. Vor allem habe ich festgestellt, dass die Startupskripte der verschiedenen Programme gerne geändert werden. So musste ich beispielsweise die Datei /usr/local/etc/rc.d/samba.sh nochmals neu erstellen durch überschreiben mit der Datei /usr/local/etc/rc.d/samba.sh.sample. Weiter musste ich das Setupskript von Webmin nochmals ausführen und neuerdings startet sich der Webmin 1.150 mit /usr/local/etc/webmin/start bzw. stoppt sich mit /usr/local/etc/webmin/stop und nicht mehr über das webmin-Skript in /usr/local/etc/rc.d. Wichtig ist zum Abschluss des Updates, dass wir nochmals die schg-Flags setzen. sbsd0001# chflags schg /bin/* sbsd0001# chflags schg /sbin/* sbsd0001# chflags schg /usr/sbin/* sbsd0001# chflags schg /boot/kernel 15. Schlusswort Wenn ihr bis hier gelesen habt, erstmal Gratulation! Schliesslich besteht mein Howto aus etwas mehr als 25 A4-Seiten. Ich hoffe, ihr hab euch nun einen FreeBSD Fileserver konfigurieren können. Falls ihr Konfigurationsfehler, Unzulänglichkeiten oder auch Rechtschreibfehler findet, bitte ich euch, die hier mitzuteilen, damit ich meine Anleitung anpassen kann.Ich versuche auch, das Howto zu erweitern, so habe ich vor, noch etwas über die Konfiguration von CUPS und evtl. auch etwas über FreeBSD, Samba und OpenLDAP zu schreiben. -Highfish- Geändert von Highfish (30.06.2004 um 01:25 Uhr). |
|
|
|
|
|
#2 |
|
Registered User
|
Sehr sehr ausführliches und gutes Tutorial,
klappt auch alles ohne Probleme. Alle User haben innerhalb der Domäne dann "nur" Benutzerrechte auf dem lokalen Computer. Natürlich kann man das auf jedem Rechner lokal einstellen. Wenn ich aber 150 Rechner habe ist das schlecht. Wie kann ich die Rechte denn direkt mit über Samba vergeben, oder geht das nicht? MFG CAT |
|
|
|
|
|
#3 |
|
Banned
Registrierungsdatum: Jan 2004
Beiträge: 341
|
das howto ist einfach nur super
gibts das auch als schönes pdf oder ähnlichem? Geändert von ex-user_994 (02.05.2004 um 16:03 Uhr). |
|
|
|
|
|
#4 |
|
#man women
Registrierungsdatum: May 2004
Ort: Celle
Beiträge: 244
|
hallo highfish !
danke für dein super samba how to ! wirklich genial !!!! allerdings kommt bei mir folgender fehler ..und ich habe alles so gemacht, wie du geschr hast..hat soweit auch alles geklappt... Code:
Code:
|
|
|
|
|
|
#5 | |
|
Registered User
|
Zitat:
__________________
it works |
|
|
|
|
|
|
#6 |
|
#man women
Registrierungsdatum: May 2004
Ort: Celle
Beiträge: 244
|
ja habe es aus den ports installiert....
muss ich also nur tdbsam aus den ports installieren ??? aber eines macht mich eh noch stuzig..anpingen kann ich meinen server...wemin geht auch übers netz usw...aber ich sehe meinen server nicht inna netzwerkumgebung und kann mich auch bisher nicht auf der domäne VERSUCHEN anzumelden..das sollte aber eigentlich schon gehn hmm? ![]() ![]() danke für deine schnelle antw cat1510 ! ![]() |
|
|
|
|
|
#7 |
|
Registered User
|
Also wenn du nochmal in den Port net/samba-devel und dort make config eintippst sollte ein grosses Fenster kommen.
Schmeiss alles raus, was Du nicht brauchst.Muss mal schauen, was ich drin habe. Ich habe nur ACL Support, Syslog, UTMP, MSDFS mit kompiliert. Wichtig ist, dass Du in Deiner /usr/local/etc/smb.conf stehen hast: [global] workgroup = BYTEWORKER netbios name = GATEWAY server string = GATEWAY security = DOMAIN passdb backend = tdbsam log file = /var/log/samba/log.%m max log size = 50 load printers = No logon script = scripts\%U.cmd logon path = \\%L\profiles\%U domain logons = Yes os level = 65 hosts allow = 10.0.0. interfaces = fxp0 bind interfaces only = yes preferred master = Yes domain master = Yes wins support = Yes So als Auszug. wenn alles nicht klappt poste mal bitte Deine smb.conf. ok? Schnell?!?! Da stehen wir doch drauf....
__________________
it works |
|
|
|
|
|
#8 |
|
#man women
Registrierungsdatum: May 2004
Ort: Celle
Beiträge: 244
|
hmm...sollte ich dann über das make config den tdbsam mit installieren / komp ja ?
jedenfalls kommt bei der eingabe (leider) folgendes: Code:
wenn das teil läuft mach ich 3 kreuze !!!! ![]() |
|
|
|
|
|
#9 |
|
#man women
Registrierungsdatum: May 2004
Ort: Celle
Beiträge: 244
|
so..jetzt meine global einstellungen:
Code:
Code:
weiß jemand, um mir vielleicht helfen zu können ??? danke im vorraus ! :-) bye |
|
|
|
|
|
#10 |
|
Registered User
|
ist ganz einfach normalerweise.
Hast Du die ports ausgecheckt bevor Du samba-devel installiert hast?
__________________
it works |
|
|
|
|
|
#11 |
|
#man women
Registrierungsdatum: May 2004
Ort: Celle
Beiträge: 244
|
erm..wie..die prots ausgecheckt ????
ich habe mal einen smb server unter suse erfolgreich hinbekommen... aber was meinst du mit welchen ports auschecken ?? sorry, bin ein bsd greenhorn *schäm* :/ |
|
|
|
|
|
#12 |
|
Registered User
|
ohhh
also BSD Rechner kann online gehen ok? Schau mal nach ob in /usr/ports schon was drinsteht Wenn nicht: # pkg_add -rv cvsup-without-gui wenn fertig #cd /etc #fetch http://www.byteworker.com/freebsd/script/supfile #rehash #cvsup -L2 /etc/supfile dann roedelt der ein bisschen. solltest dem die Leitung auf jeden Fall frei machen. Wenn DU ISDN hast solltest das nicht machen, sondern Dich erst wieder melden.
__________________
it works |
|
|
|
|
|
#13 |
|
#man women
Registrierungsdatum: May 2004
Ort: Celle
Beiträge: 244
|
hey cat1510,
den ersten befehl kam ne meldung das ich es schon wohl installiert habe.. und der batch da der hat ja EWIG (!!!!!!!) gedauert (aDSL)..aber jetzt ist er fertig Code:
habe ich jetzt so ziemlich alle ports installiert die es gibt oder wie ? bin ja gesapnnt, was als nächstes kommt..wäre einfac super wenn das bald laufen würde !!! Finds total nett hier, dass sie so leute wie du zB um einen kümmern ! Werde der community auch treuheit schwören !! ))
__________________
-Hobby "Wer fragt ist ein Narr für fünf Minuten wer nicht bleibt es sein Leben lang." Chin. Sprichwort |
|
|
|
|
|
#14 |
|
Registered User
|
danke fuer die Blumen. andere haben mir auch geholfen, als ich gefragt habe. Nun kann ich auch mal helfen oder?
geh mal nach # cd /usr/ports/net/samba-devel #make deinstall #make config Dann waehlst alles aus, was Du brauchst. # make install und dann baut der alles nochmal zusammen. Zumindest Samba. Wenn der fertig ist sollte es einwandfrei klappen. Viel Spass. Wennst nicht weiterkommst weisst ja wohin schreiben. ;o)
__________________
it works |
|
|
|
|
|
#15 |
|
#man women
Registrierungsdatum: May 2004
Ort: Celle
Beiträge: 244
|
erm..ok, mach ich,
also kann ich dann u.a. auch TDBSAM auswählen, richtig ? und dann noch ne frage...ich habe ja jetzt alles wie oben geändert..zB auch die verschl. auf blowfish usw... das is aber schon korrekt ne ? und dann noch... ne das heißt ich porbier dann erstmal---und wenn ich den server dann immernoch net inna netzwerkumgebung sehe bzw die domöne zum anmelden noch net ma bereitsteht *schrei* ich einfach wieder !! ![]() ne wirklich super hier... ich denke das is auch nen vorteil bei einem exoten wie zB BSD...bei den "0815" dingen is alles nicht so familiär wie hier..naja du weißt sicherlich was ich meine ![]() also bis später sicherlich )
__________________
-Hobby "Wer fragt ist ein Narr für fünf Minuten wer nicht bleibt es sein Leben lang." Chin. Sprichwort |
|
|
|
![]() |
| Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste) | |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| UPDATE 15.6.04: BSD Bücher - Eine kleine Rezension | asg | FreeBSD - Allgemein | 82 | 30.05.2007 02:42 |
| Just another FreeBSD ISDN HowTo :) | SadButTrue | Howtos | 32 | 24.06.2004 12:55 |
| FreeBSD: FreeBSD Status Report Okt-Dez 2003 | asg | News | 0 | 28.01.2004 19:49 |
| SECURITY ALERT: FreeBSD Schwachstelle | asg | News | 1 | 11.08.2003 16:45 |
| Samba + LDAP Problem unter FreeBSD 5.1 | Highfish | FreeBSD - Anwendungen und Ports | 0 | 18.07.2003 15:59 |