News

Willkommen auf der Webseite freebsdtutorials.org.

Was ist freebsdtutorials.org?

Diese Webseite ist rein privat gestaltet und verfolgt keinerlei Gewerbsmäßige Ziele und ist damit und bleibt damit für jeden Besucher, der hier zufällig drauf stößt Kostenlos!
Es werden hier auch keine Persönlichen Daten gespeichert. Es sei denn Sie nutzen die Kommentarfunktion der Videos oder mein Kontaktformular. Hier wird lediglich ihr Name und ihre Emailadresse elektronisch an mich weitergeleitet.
Weitere Informationen dazu finden Sie in meiner Datenschutzerklärung

Welche Inhalte gibt es auf freebsdtutorials.org

Ich zeige in den folgenden Inhalten lediglich wie ich verschiedene Betriebssysteme auf meinem Computer installiere und wie ich damit umgehe.
Wer das Zuhause im privaten Rahmen nachmachen will, kann das selbstverständlich tun, jedoch übernehme ich keinerlei Garantie oder Haftung sollten Schäden an ihren Geräten entstehen oder Sie Datenverlust erleiden sollten.
Gewerbetreibende möchte ich bitten meine Webseite wieder zu verlassen und sich professionelle Unterstützung von entsprechenden Agenturen zu beschaffen.

 Jetzt NEU!

FreeBSDTutorials betreibt einen eigenen Discord Server.
Hier werden sämtliche Themen rund um Unix besprochen. Es können Live fragen an mich gestellt werden, die ich und auch andere User gerne beantworten.
Join einfach unseren UnixTalk Discord Server

Nützliche Links:

Mein Kanal auf Youtube:
https://youtube.com/user/FreeBSDTutorials

FreeBSD Handbuch (original englische Fassung - Web):
https://www.freebsd.org/doc/handbook/
FreeBSD Handbuch (original englische Fassung - PDF):
http://ftp.freebsd.org/pub/FreeBSD/doc/handbook/book.pdf
FreeBSD Handbuch (deutsche Übersetzung - Web):
https://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/
FreeBSD Handbuch (deutsche Übersetzung - PDF):
http://ftp.freebsd.org/pub/FreeBSD/doc/de/books/handbook/book.pdf

Phönix Blog - Der Block von Olaf Uecker - Linux und FreeBSD Blog
https://phoenix-blog.de/

  1. Dateisystem
  2. Benutzer und Gruppen
  3. Super User -> Root
 
Dateisystem:
Das Dateisystem unter Linux unterscheidet sich grundlegend von dem Dateisystem von Windows.
Unter Linux finden wir (heute) häufig das Dateisystem EXT4 und im Serverbereich LVM mit EXT4 (für Server mit Raid). Auch finden die sogenannten CopyOnWrite (COW) Dateisysteme wie das BTRFS (ButterFS) oder auch ZFS immer mehr einzug auch in Linux Systemen (Proxmox zb verwendet standardmäßig schon ZFS während SuSE auf BTRFS setzt).
Der Vorteil all dieser Dateisystem Formate liegt darin, das wir unsere Festplattenpartitionen überall im System einhängen können wo wir sie hin haben wollen, während man bei Windows grundsätzlich laufwerksbuchstaben zu verwenden hat. Das Problem bei Windows  wäre, das wir hier gebunden am Alphabet sind (A-Z).
Die Systemplatte von Windows (wo in aller Regel das Betriebssystem installiert ist, und auch die Programme drauf installiert werden) bekommt dabei - in der Standard Installation - den Laufwerksbuchstaben C
Früher als wir noch Diskettenlaufwerke hatten, hatten die 3,5" Disketten den Buchstaben A und die 3 1/4" Diskette (Floppy-Disk) meistens B.
Das waren aber auch noch Zeiten, wo wir keine Fenster oder WindowManager zur verfügung hatten ;)
Um zurück zu kommen. Unter Windows sind wir was die Partitionierung angeht statisch an die Laufwerksbuchstaben gebunden und damit am Alphabet. Umlaute wie Ä Ü Ö oder ß, oder Französische buchstaben wie É oder der gleichen sind davon ausgeschlossen.
Somit können wir an einem Windows Betriebssystem max 26 Partitionen am System anschließen.
Folgendes Szenario.
Ihr betreibt einen Server, der bei euch als Netzwerkspeicher Dient. Ihr wollt aber auf jeder Festplatte 3 Partitionen haben, weil sie immer bestimmte Teilgebiete eurer Daten abdecken sollen.
Angenommen Vidoes, Musik, Dokumente. Als keiner Server ist das noch relativ einfach zu realisieren.... D E und F...
Jetzt wollt ihr aber noch ein Backup für ganz spezielle daten haben und schließt eine (dritte) Festplatte an und unterteilt diese auch wieder in 3 Partitionen. Angenommen für Webserver, Email, Datenbank.
also G, H und I.....
Plöztlich fällt euch auf das D E und F schon aus allen nähten platzen also kauft ihr eine weitere Platte  die in weitere 3 Partitionen unterteilt wird und da kommen die neuen Videso Musik und Dokumente drauf... J K L .....
Ihr seht... es wird langsam eng.... Sowas kann durchaus schneller gehen, als einem lieb ist.
Linux, vielmehr alle Unix Betriebssysteme und darunter fällt auch das MacOS X von Apple, verfolgen mit ihren Dateisystemen eine ganz andere Philosophie.
1.) Everything is a file. Will heißen, alles wird als Datei behandelt. Auch der Drucker ist eine datei. Die festplatte ist eine Datei
2.) gibt es ein Wurzelverzeichnis worunter dann alle anderen Dateien und struckturen folgen.
Der vorteil hierbei ist, das egal auf welchem Betriebssystem man sich befindet, überall alle Dateien in der gleichen art und weise abgelegt werden.
Also es ist egal ob ich Linux kenne und mich morgen an ein FreeBSD setzten muss. Der Grundlegende aufbau ist gleich.
Und die Logik - die nun wirklich sehr simpel gehalten ist - muss man nur einmal verstanden haben und man kann prinzipiell sofort mit allen anderen Systemen ebenfalls grundlegend umgehen.
 
Wie ist das Dateisystem unter Linux/Unix denn nun aufgebaut?
Zum einen haben wir wie schon gesagt das Wurzelverzeichnis. Da mir das Wort jetzt zu lang ist um es immer und immer wieder hier  zu erwähnen, wird es absofort Root-Verzeichnis genannt.
Das Root-Verzeichnis ist das /
Darunter liegen dann zb die Geräte wie Festplatten, Grafikkarten, USB Anschlüsse und Controler, Chipsätze usw. Hierfür sieht Unix das Geräteverzeichnis vor. Da Unix nunmal Englisch als "Hauptsprache" verwendet heißt das Verzeichnis nicht /Geräte sondern die englische Form davon und davon die abkürzung /dev
 
/dev/sda wäre zb auf den meisten Linux systemen die erste Festplatte. /dev/sda1 wäre hier die erste Partition der ersten Festplatte.
Was wäre demnach /dev/sdg9 ?
Richtig die 9te Partition der 7ten Festplatte.
Und um jetzt  einmal  unser  Windowsbeispiel mit den Laufwerksbuchstaben zurück zu kommen... jetzt stellt euch vor alle Festplatten hätten jetzt 9 Partitionen (a-g) das wäre also 7*9 Laufwerksbuchstaben unter Windows die wir bräuchten und damit wären wir bei 63 Buchstaben die wir bräuchten. Geht also nicht...
Und was wäre jetzt bei sdz9? Um himmels willen! Windows würde uns den Vogel zeigen. Es gibt nunmal keine 234 Buchstaben im Alphabet.
 
Aber schauen wir uns die Verzeichnisstrucktur weiter an.
ein weiter wichtiges Verzeichnis ist das Konfigurationsverzeichnis. /etc
In /etc liegen - in den meisten fällen - alle Systemrelevanten Konfigurationsdateien.
Dort liegt zb. die datei um den Hostnamen zu ändern.
Wenn ich da nochmal  an Windows denke das man erst aufs Benachrichtigungscenter dann Alle Einstellungen dann  System dann netzwerk dann noch irgendwo und wieder irgendwo hinklicken muss bis man irgendwann einmal den Computernamen geändert bekommt läufts mir eiskalt den Rücken herunter...
Unter Linux gebe ich im Terminal einfach ein vi (oder nano falls vorhanden) /etc/hostname änder den namen speicher die datei und es ist getan.... vielleicht noch ein ifdown eth0 ifup eth0 und die änderung ist übernommen.
Seit dem ich mit Linux arbeite (und das ist immerhin seit 1996, also 1jahr nach Windows 95 release) hat sich daran auch nichts geändert.
Wenn ich mir den Verlauf anschaue, Windows 95, 98, ME, 2000, XP, Vista, 7, 8, 8.1, 10.... es hat sich immer irgendwo anders Versteckt.
Heute wäre ich nicht mal mehr in der Lage bei Windows 10 manuell ein Update zu installieren :D aber gut, seis drum.
 
Das nächste wichtige verzeichnis wäre das /home verzeichnis. Hier liegen alle Benutzer daten.
Sprch wenn ihr einen Benutzer mit namen Galatheas im System habt, wird dort sein "Persönlicher Ordner" abgelegt. Das sieht dann in etwa so aus: /home/Galatheas
Und hier jetzt zeig ich euch die stärke von Linux.
Angenommen ihr habt 1 SSD für das Betriebssystem (windows) angenommen aus Geldgründen habt ihr nur eine kleine gewählt. 120GB
Unter Windows sind die Benutzerdaten Statisch in C:/Users/BENUTZERNAME abgelegt.
Bei 120GB sehr unvorteilhaft.
Aber Microsoft wäre nicht Mircosoft, wenn sie dafür nicht eine Lösung hätten... Man kann das User Verzeichnes ja auch auf andere Festplatten(partitionen) auslagern.
Gut also kauft ihr jetzt noch eine 1TB festplatte dazu und biegt das verzeichniss C:/Users/Galatheas auf D:/Users/Galatheas um.
\o/ YEAY Windows ist cool.
So.. jetzt ist die Festplatte voll. Was nun?
Da habt ihr nur 1 Möglichkeit... die 1TB durch eine größere Festplatte ersetzten!
 
Und jetzt schauen wir uns Linux an..
Wärend der installation gebt ihr an das euer Heimverzeichnis nicht auf sda3 (zb) liegen soll, sondern auf sdb1 (also zweite festplatte partition 1)
Dann sieht das Mountsystem in etwa so aus:
sda:
/
-/etc
-/dev
-/home
sdb1:
-/home/Galatheas
 
So, jetzt habt ihr die Festplatte sdb vollgeschrieben und erhaltet eine Warnung.... Was nun? eine größere Festplatte kaufen und alle Daten auf die große kopieren?
Nö, wozu?
Festplatte als sdc1 partitionieren und dann einhängen... Natürlich ein bisschen mit bedacht vorgehen und sagen.. hey.. ich will auf der ganz großen (meinetwegen jetzt eine 2TB Platte) nur die filme drauf haben.
also erstellt ihr euch ein verzeichnis /home/Galatheas/Filme
und Mountet dann die neue Festplatte nach /home/Galatheas/Filme und verschiebt nur noch die filme die auf der 1TB platte so viel platz verbraten nach /home/Galatheas/Filme
 
WinWin... Denn 1.) die 1TB festplatte wird wieder frei gemacht für neue Daten des Benutzers aber 2.) ihr braucht nicht queer durchs Betriebssystem hüpfen sondern habt immer  noch alles zental in eurem heim verzeichnis. und drittens fühlt es sich in der laufzeit des Betriebssystems so an, als hättet ihr eine große 3TB festplatte....
 
Zwei essensitel wichtige Verzeichnisse habe ich noch.
Da wäre /var/log/
In /var/log liegen alle wichtigen Logdateien herum, die wir benötigen um fehler aufzuspühren. Z.b. finden wir in der Datei syslog (bei manchen systemen heißt sie auch messages) finden wir meistens alle Relevanten dinge, die das System selber betreffen. /var/log/auth.log wäre eine Wichtige Datei für Leute, die einen Server betreiben.
Ich Rate euch eindringlich, schaut regelmäßig in dieses Log rein! Hier werden alle authentifizierungsversuche incl. der  dazugehörigen IP geloggt.
Seht ihr also das 20x die gleiche ip versucht sich in euer System zu hacken, solltet ihr euch dringend maßnahmen überlegen, um weitere loginversuche zu verhindern.
 
Das letzte wirklich wichtige Verzeichnis im Dateisystem wäre /proc
Hier liegen nicht nur Hardwareinformationen drin,  sondern hier werden alle Prozesse hin ausgelagert die am laufen sind.
Programme wie top oder htop greifen auch lediglich auf dieses verzeichniss zurück und lesen die darin liegenden dateien einfach aus und stellen sie sortiert in einer "leserlichen" ansicht dar.
 
Um jetzt nur noch kurz den rest anzureißen hier noch die letzten Verzeichnisse im schnelldurchlauf
/usr/
Dort liegen in aller regel Programme, Bibliotheken usw die fürs System wichtig sind, aber auch Programme die vom User (zb mittels apt-get) installiert werden kommen u.a. hier mit rein.
/usr/ ist in mehrere Unterverzeichnisse aufgeteilt, die alles nochmal ein bisschen konkretisieren, wo was liegt.

/usr/bin - hier liegen alle Programme. zb. das Bash terminal liegt hier
/usr/sbin - hier liegen alle Programme die nur root ausführen darf. z.b. liegt hier auch das Programm sudo
/usr/lib - hier liegen die Bibliotheken drin, die von Programmen benötigt werden um ausgeführt zu werden, ählich dem  C:\Windows\System32 Verzeichnis von Windows

Wie solltet ihr also euer Betriebssystem am besten "partitionieren"?
Ein absolutes streitthema und meine Antwort darauf.
Es kommt drauf an.
Ungeachtet der Partition stellt sich erst einmal die Frage, welches DateiSystemFormat am elegantesten wäre.
Seit ich mich mit den COW Dateisystemen befasse bleibt hier ganz klar zu sagen KEIN EXT4 MEHR!
Das hat viele gründe. Um nur einen einzigen hauptgrund zu nennen:
Linux ist mitlerweile auch anfällig für Viren. Der Bekannteste Virus der auch auf Unices ausgeführt werden kann ist der sogenannt Jigsaw und derivate.
Jigsaw ist der Kryptotrojaner der im Jahr 2016 massiv für Aufregung gesorgt hatte, und sogar die Infrastrukturen von Krankenhäuser lahm gelegt hat.

Mit einem intelligent Konfigurierten COW kostet uns ein befall mit einem Jigsaw Trojaner ein müdes Arschgrinsen.
Mit COW Dateisystemen können wir sogenannte Snapshots von bereichen unseres Systems erstellen. Snapshots sichern lediglich den Pointer der auf einen bestimmten zustand einer Datei zeigt.
Darauf nähr einzugehen würde den Rahmen jetzt bei weitem Sprengen und würde vermutlich ein ganzes Buch alleine füllen.
Fakt und für uns nur wichtig ist die tatsache das wir einen Snapshot jederzeit "zurückrollen" können. Snapshots sollten nur lesbar und nicht schreibt bar sein (read-only).
Außerdem haben wir mit COW Dateisystemen die mgölichkeit sehr schnell sehr leicht sehr effiziente RAID systeme aufzubauen. Auch hier, nähr werde ich darauf nicht eingehen, da auch das Theme wieder ein ganzes Buch füllen würde.

Wie aber sollten wir jetzt Partitionieren?
Bei meinem Heim PC zb würde ich während der installation alles erst einmal in eine einzige Partition schmeißen, und hinterher nur noch das /home auf eine andere Festplatte auslagern.
Das hat den Vorteil... selbst wenn man sich irgendwann mal sein System vollständig zerschißen sollte, so das nix mehr geht,  installiert man stumpf neu (Zeit aufwand in der regel 10 Minuten) ändert in der FSTab nur den Mounteintrag fürs Home und hat nach 10 Minuten ein frisches System, aber immer noch seine alt gewohnte Desktopumbegung, so wie man sie sich einmal eingerichtet hatte.

Großer vorteil:
Man sieht sofort wenn das System am überlaufen ist.
Nachteil:
Man läuft schnller gefahr das das System überläuft und muss genau suchen, wo der Speicherleak sich befindet (zu große Programme?, werden die Logs vollgespamt?)
In der regel reicht es aber alles auf eine Partition zu ballern und nur das /home auf eine extra festplatte zu legen.
Man könnte die Dateisysteme auch Kombinieren in dem man sagt Ok, die Systemplatte  soll in EXT4 Formatiert sein aber mein /home/ will ich als ZFS haben.
Das geht natürlich auch, macht aber nur in wenigen Szenarien wirklich sinn.

Einen Server zb würde ich komplett anders Partitionieren und dort auf jedenfall ein COW System aufsetzten.
Meine erste Wahl ist und bleibt ZFS, auch wenns einige gravierende Nachteile mitsich bringt, ist ZFS langfristig gesehen, die beste Option für einen Server.
Partitionieren würde ich
sda1 = /boot (100mb)
sda2 = / (1/3)
sda3 = /usr (1/6)
sda4 = /home (1/6)
sda5 = /var/log (1/6)
sda6 =/temp (1/6)
sda7 = swap (50% von RAM)
Als minimum. Man könnte das jetzt noch weiter ausreizen, soll uns aber als grundlage nicht weiter interessieren...
Beachtet bitte das ihr erst die 50% vom Ram abzieht und dann erst die verteilung beginnt....
Beispiel 120GB SSD und 32GB RAM
sda1 = 100mb
sda7 = 16GB
==========
Bleiben rund 100GB die verteilt werden können...
sda2 = 33GB
sda3 = 17,5GB
sda4 = 17,5GB
sda5 = 17,5GB
sda6 = 17,5GB
=============
118GB rest ist halt der normale verlust  duch umrechnung von bit zu byte die unabhängig vom Betriebssystem grundsätzlich vorhanden ist.
Natürlich kommt es auch darauf an, was ihr mit dem Server vor habt und wieviele Festplatten in diesem Server verbaut sind.
 
Benutzer und Gruppen
Ebenfalls ein wichtiges Thema.
Es gibt nichts schlimmeres für  ein Linux System, wenn der Benutzer der es benutzt ausschließlich mit dem SuperUser Root unterwegs ist.
Hämmert es euch in den Schädel! NIEMALS MIT ROOT ARBEITEN!
Das ist absolut tötlich!
Genau dafür gibt es Benutzer und Gruppen in Unix.
Damit man einem Benutzer bestimmte rechte einräumen kann, in einem bestimmten bereich im system etwas zu erledigen.
Hat man von dieser Art Benutzer mehr als einen, kann man auch Gruppen erstellen. So braucht man lediglich die Rechte der Gruppe nur zu ändern und es hat auswirkungen auf alle Benutzer die dieser Gruppe angehören.

Das klingt zunächst einmal sehr abstrakt.
Um da jetzt klarheit reinzubringen müssen wir uns mal ein Beispiel vor augen führen.
 
Angenommen ihr habt einen Dokumentenserver für ein großes Unternehmen.
Dieses Unternehmen ist aufgeteilt in mehrere Abteilungen. Zb. Buchhaltung, Kundenberater, Support, Lager, IT.
In jeder abteilung arbeiten 10 Mitarbeiter (Außer IT da haben wir 2 Mitarbeiter).
Also hat unser Beispielunternehmen 42 Mitarbeiter in 5 Abteilungen.
Also brauchen wir auf unserem Dokumentenserver wo Rechnungen, Angebote, Support Aufträge, Lieferscheine usw, 42 Benutzerkonten.
Jetzt stellt euch vor, ihr müsstet 42x einzeln die rechte setzten... Buchhaltung darf zb nur die Dokumente der Rechnungen sehen, aber keine Lieferscheine aus dem Lager einsehen.
Das einzeln für jeden Benutzer zu realisieren ist utopisch.
Bei solch einem kleinen Unternehmen zwar noch realisierbar, aber spätestens bei einer Konzerngröße wie Mercedes hätte unsere IT abteilung ein gepflegtes Problem.
Daher legen wir Gruppen an, stellen die Gruppen so ein das sie zugriff nur auf ihre bereiche haben und setzten die Benutzer beim anlegen gleich in diese Gruppe.
 
Auch die Abteilung IT bekommt eine eigene Gruppe und zusätzlich noch die Gruppe sudo oder wheel (als beispiel) um Administrative tätigkeiten am Server zu erledigen.
Ein guter Administrator loggt sich NIEMALS als User Root direkt am System ein.
Im gegenteil. Ein guter Administrator würde das Benutzerkonto Root sogar für den Login deaktivieren.
Denn mit dem Command su (switch user) könnte sich jemand, der Zugriff auf den server hat (egal ob durch gehackt oder offizeillen zugriff) immer Administratorrechte Verschaffen.
Man bräuchte sich nur ein Brueforce Paswortknacker mit entsprechender Wordlist "installieren" und ein nichtberechtigter Benutzer könnte sich Administrative Rechte verschaffen.
 
Dazu aber im Abschnitt Security mehr.

Impressum

Keine Angaben da diese Webseite ausschließlich Privat gestalltet wird (§5 Abs. 1 TMG sowie §55 Abs. 1 RStV) 
sowie keine nach §55 Abs.  2 RStV journalistisch-redaktionell gestaltete Angebote, vollständig oder teilweise,
periodischer Druckerzeugnisse in Text oder Bild wiedergegeben werden.

Kontakt:

Bitte nutzen Sie das Kontaktformular.

 

Haftungsausschluss (Disclaimer)

Haftung für Inhalte

Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.

Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.

Haftung für Links

Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.

Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

Urheberrecht

Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.

Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.