Raspberry PI und FreeBSD Basissetup: Unterschied zwischen den Versionen
C9mos (Diskussion | Beiträge) |
C9mos (Diskussion | Beiträge) |
||
| Zeile 44: | Zeile 44: | ||
Die Nutzer können sowohl mit dem Tool ''bsdconfig'' angelegt werden als auch in der Shell. In der Shell geht es sowohl mit ''pw'' als auch mit dem Befehl ''adduser''. | Die Nutzer können sowohl mit dem Tool ''bsdconfig'' angelegt werden als auch in der Shell. In der Shell geht es sowohl mit ''pw'' als auch mit dem Befehl ''adduser''. | ||
[[Datei:FreeBSD-adduser.png | [[Datei:FreeBSD-adduser.png]] | ||
Version vom 3. Dezember 2022, 20:52 Uhr
FreeBSD
FreeBSD ist ein UNIX® ähnliches Betriebssystem, das auf 4.4BSD-Lite basiert. Es ist anders als Linux, das ja eigentlich nur der Kernel ist, ein komplettes Betriebssystem. Ursprünglich war BSD (Berkeley Software Distribution) als Erweiterung des von AT&T entwickelten Betriebssystems UNIX® gedacht. Verschiedene Open-Source Projekte basieren auf dieser als 4.4BSD-Lite bekannten Quelltextausgabe. In dieser Softwareausgabe sind auch Quelltexte anderer Open-Source Projekte enthalten, insbesonders jene des GNU-Projekts. Das Komplette Betriebssystem umfasst:
- Den BSD-Kernel, der sich um Prozess-Scheduling, die Unterstützung mehrerer Prozessoren (SMP – Symmetric Mulit-Processing), Speicherverwaltung, Datenträgerverwaltung, Gerätetreiber und einiges mehr kümmert. Im Gegensatz zu Linux gibt es verschiedene BSD-Kernels mit unterschiedlichen Fähigkeiten.
- Die C-Bibliothek, die die grundlegende API (Application Programming Interface) für Programme ist. Die C-Bibliothek basiert auf Berkeley-Code und nicht auf Quelltexten des GNU Projekts
- Nützliche Programme wie z.B. Shells, Programme für Dateioperationen, Compiler und Linker. Einige dieser Programme stammen noch aus dem GNU-Projekt, andere hingegen nicht.
- Andere nützliche Programme und Services, wie z.B. Sendmail, SSH, FTP und einige mehr.
- Eine Ports-Kollektion, die Programme und Bibliotheken enthält und die über 30.000 Ports verfügt.
FreeBSD eignet sich, da keine Desktopumgebung vorinstalliert ist, besonders als Server. Eine Desktopumgebung lässt sich aber nachinstallieren, wenn das erwünscht ist.
Für das Raspberry PI gibt es ein fertiges FreeBSD 13.1 Image für das RaspberryPI 3 bzw. 4, das direkt auf der FreeBSD Webseite zum Herunterladen angeboten wird. Wenn man ein Raspberry PI 4 benutzt, sollte man mindestens Version 13.1 vwerwenden, da 13.0 noch einen älteren u-boot Bootloader verwendet, und man da noch einige Schritte von Hand machen muss, um das Raspberry PI 4 zum Hochfahren zu bewegen.
Installieren des Images
Hat man das Image heruntergeladen, muss es noch auf eine SD-Karte geschrieben werden. Ich empfehle eine mit mindestens 8 GB Speicher zu verwenden, da diese noch genug Platz für weitere Programme hat. Zu groß sollte sie auch nicht sein, da hierbei ein Backup lange dauern kann und es, je nach SD-Karten Größe, einiges Platz auf dem Backup-Medium einnimmt. Hat man die passende SD-Karte gewählt, muss man noch das Image auf selbige 'brennen'.
Unter Unix geht das ganz einfach mit der Kommandozeile. ${device} steht für das zu beschreibende Gerät. (z. B. /dev/sdc)
root# xzcat --keep FreeBSD-13.1-RELEASE-arm64-aarch64-RPI.img.xz | dd of=${device} bs=4M
Unter Windows muss man ein Programm zum Beschreiben des Images herunterladen. Mit Win32 Disk Imager ist es möglich Image-Dateien auf eine SD-Karte zu brennen. Das FreeBSD-Image muss vor dem Brennen noch entpackt werden. Das geht auch mit WinRar.
Ist das Beschreiben der SD-Karte erledigt, kann sie bereits ins Raspberry PI gegeben werden und man kann schon loslegen, den Einplatinencomputer für seine Zwecke zu konfigurieren. Wenn man keine Tastatur und Bildschirm ans Raspberry PI anschließen will, kann man sich auch per SSH (Secure SHell) am Gerät anmelden. Da ein DHCP-Client standardmäßig aktiviert ist, findet man auch im eigenen Netzwerk das Gerät. Eine Voraussetzung dafür ist, dass man bereits einen DHCP-Server (z. B. im Router) betreibt.
Hat man das Gerät im eigenen Netzwerk gefunden, z. B. in den Netzwerkeinstellungen des Routers, kann man sich mit dem Standardnutzer freebsd mit dem Passwort freebsd anmelden. Das root-Passwort ist root.
user@localhost$ ssh freebsd@${ip_adresse}
Um sich unter ssh zum Systemadministrator zu machen, gibt man in der Kommandozeile su ein.
freebsd@generic$ su
Wenn man Hilfe zu einem Befehl benötigt, erhält man diese mit dem Befehl man.
freebsd@generic$ man man
Basiskonfiguration
Bevor man loslegt, einen eigenen Server aufzusetzen, sollte man einige Grundkonfigurationen vornehmen, da einige Sicherheitslücken zu Beginn geschlossen werden sollten. Einige Grundeinstellungen lassen sich mit dem Dialog-basierten Tool bsdconfig erledigen.
Wenn man eine Bourne kompatible Shell gegenüber der csh bevorzugt kann man mit dem Befehl pw die Login Shell des jeweiligen Benutzers ändern.
root@generic# pw usermod root -s /bin/sh
root Passwort ändern und Benutzer anlegen
Das root-Passwort gehört unbedingt geändert, da ansonsten jeder in der Lage ist, über das Standardpasswort Administrator Rechte zu erlangen. Man kann sich zwar nicht über Secure Shell als root anmelden, man hat aber dennoch Zugriff auf den Benutzer freebsd mit dem Standardpassword freebsd. Selbiger befindet sich noch in der Gruppe wheel, was einem ermöglicht su auszuführen. Das root-Passwort kann man mit bsdconfig geändert werden oder in der Shell.root@generic# passwd
FreeBSD beginnt mit der Vergabe der User-IDs bei 1001, die meisten Linux-Distributionen allerdings bei 1000. Man sollte sich seinen Standardnutzer mit der UID 1000 anlegen und ihn zumindest in die Gruppe wheel aufnehmen. Des Weiteren empfiehlt es sich, die Nutzer-IDs von seiner Linux-Distribution, sofern man eine hat, im FreeBSD-System zu übernehmen. Sollte man ein NFS (Network File System) am Laufen haben, macht es sich bezahlt, da hier die Zugriffsrechte über die Nutzer- und Gruppen-IDs vergeben werden.
Die Nutzer können sowohl mit dem Tool bsdconfig angelegt werden als auch in der Shell. In der Shell geht es sowohl mit pw als auch mit dem Befehl adduser. Datei:FreeBSD-adduser.png