OS/2 eingestellt wurdefür Einsteiger:
für Fortgeschrittene:
Die Idee hinter "UEFI Secure Boot" ist, dass nur vertrauenswürdige Software, die signiert sein muss, auf die Hardware zugreifen darf. Damit will man Viren zu Leibe rücken, die es schaffen, am Betriebssystem vorbei, sich in den Bootsektor einzupflanzen. Bootet der Rechner nur noch vertrauenswürdige Betriebssysteme, dann können Angreifer das System nicht mehr manipulieren.
ein sich dynamisch vergrößerndes Image (Startgröße ⇒ 1MB), welches sich auf eine maximale Größe von bis zu 10GB vergrößern kann, kann man so erstellen:
# dd if=/dev/zero of=platte.img bs=1M count=1 seek=10240
Vor Ubuntu 11.10 stand die Standard-UMASK auf "0022", seit Ubuntu 11.10 steht sie auf "0002" ⇒ https://blueprints.launchpad.net/ubuntu/+spec/umask-to-0002
umask 0022 = 644 für Dateien und 755 für Verzeichnisse
umask 0000 = 644 für Dateien und 777 für Verzeichnisse
umask 0027 = 644 für Dateien und 750 für Verzeichnisse
umask 0077 = 644 für Dateien und 700 für Verzeichnisse
umask 0007 = 644 für Dateien und 770 für Verzeichnisse
| Mögliche Werte für: | ||||
|---|---|---|---|---|
| chmod (octal) | umask (octal) | Symbolisch | Binäre Entsprechung | |
| Lesen, schreiben und ausführen | 7 | 0 | rwx | 111 |
| Lesen und Schreiben | 6 | 1 | rw- | 110 |
| Lesen und Ausführen | 5 | 2 | r-x | 101 |
| Nur lesen | 4 | 3 | r-- | 100 |
| Schreiben und Ausführen | 3 | 4 | -wx | 011 |
| Nur Schreiben | 2 | 5 | -w- | 010 |
| Nur Ausführen | 1 | 6 | --x | 001 |
| Keine Rechte | 0 | 7 | --- | 000 |
Die umask wird im Profil gesetzt, das kann man z.B. in diesen Dateien vornehmen:
/etc/profile/etc/profile.d/xxxx~/.profilezum Beispiel so:
> echo "umask 0022" >> ~/.profile
Will man ein Verzeichnis woanders hin mounten, geht das bei Linux mit:
# mount -o bind /home/gross /home/klein/subdir
Bei FreeBSD geht das mit:
# mount -t nullfs /home/gross /home/klein/subdir
Das UNIX-Kommando "cat" listet eine Datei Zeile für Zeile auf, "tac" dagegen listet eine Datei Zeile für Zeile in umgekehrter Reihenfolge aller Zeilen auf.
Das ist oft sehr nützlich, leider gibt es dieses Kommando nur in Linux jedoch nicht in FreeBSD.
In FreeBSD kann man exakt das gleiche Ergebnis erreichen, wenn man statt dessen "tail -r" verwendet.
die SMTP Verbindung beobachten:
# ngrep -d eth0 port 25
alle Statusangeben anzeigen:
# stat -x test.txt File: "test.txt" Size: 10 FileType: Regular File Mode: (0644/-rw-r--r--) Uid: ( 1002/ fritz) Gid: ( 1000/ nutzer) Device: 227,3155755234 Inode: 525336 Links: 1 Access: Sun Oct 23 16:08:13 2011 Modify: Sun Oct 23 16:08:13 2011 Change: Sun Oct 23 16:08:13 2011
# stat -s test.txt st_dev=3155813346 st_ino=525336 st_mode=0100644 st_nlink=1 st_uid=1002 st_gid=1000 st_rdev=4294967295 st_size=10 st_atime=1319378893 st_mtime=1319378893 st_ctime=1319378893 st_birthtime=1319378893 st_blksize=4096 st_blocks=2 st_flags=0
Zugriffsrechte anzeigen:
# stat -f '%p' test.txt 100644
Access (letzter Zugriff):
# stat -f '%Sa' test.txt Oct 23 16:08:13 2011
Modify (letzte Veränderung des Inhaltes):
# stat -f '%Sm' test.txt Oct 23 16:08:13 2011
Change (letzte Veränderung des Dateinamens):
# stat -f '%Sc' test.txt Oct 23 16:08:13 2011
alle Statusangeben anzeigen:
# stat test.txt File: „test.txt“ Size: 10 Blocks: 24 IO Block: 4096 reguläre Datei Device: 17h/23d Inode: 12338 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ fritz) Gid: ( 1000/ nutzer) Access: 2011-10-23 16:08:08.995003157 +0200 Modify: 2011-10-23 16:08:10.810996879 +0200 Change: 2011-10-23 16:08:10.818996848 +0200
Zugriffsrechte anzeigen:
# stat -c '%a' test.txt 644
Access (letzter Zugriff):
# stat -c '%x' test.txt 2011-10-23 16:08:08.995003157 +0200
Modify (letzte Veränderung des Inhaltes):
# stat -c '%y' test.txt 2011-10-23 16:08:08.995003157 +0200
Change (letzte Veränderung des Dateinamens):
# stat -c '%z' test.txt 2011-10-23 16:08:08.995003157 +0200
Es ist möglich, die Bit-Breite mit einem einzigen kleinen Aufruf zu ermitteln:
getconf LONG_BIT 64
Allerdings hat diese Angabe nichts mit der CPU zu tun, sondern mit dem Betriebssystem.
Mit uname wird gezielt die Hardwareunterstützung durch das Betriebssystem abgefragt.
uname -m x86_64
Allerdings wird hier ein 32-Bit-Betriebssystem auch auf einer 64-Bit-Maschine nur "i386", "i486", "i586" oder "i686" ausgeben.
Diese Script läuft unendlich lange und protokolliert bei einer Load ab LOGLOAD die ersten 30 Zeilen der TOP-Ausgabe im /tmp-Verzeichnis unter dem Namen /tmp/bigload_[Datum]_[Uhrzeit].txt:
#!/bin/sh
LOGLOAD="8"
while true
do
if [ "$(uptime | sed -e 's/\.[0-9,]* / /g' -e 's/\.[0-9]*$//' | awk '{print $(NF-2)}')" -ge "${LOGLOAD}" ] ; then
top -b -n 1 | head -n30 > /tmp/bigload_$(date +%F_%H%M%S).txt
fi
sleep 1
done
Die relevanten Werte können hiermit eingesehen und geändert werden.
betreffend der Shell bzw. den Benutzer (/etc/security/limits.conf):
# ulimit -n
diese Kerneloptionen gelten global (/etc/sysctl.conf):
# sysctl fs.file-max
was hat ein Programm geöffnet:
# lsof -c sendmail
welche Programme hängen am SMTP-Port:
# lsof -i :25
welche Programme haben Logfiles geöffnet:
# lsof +D /var/log
Anzeige aller Prozesse, die gerade auf die Datei "/usr/bin/vim" zugreifen (vi arbeiten):
# lsof /usr/bin/vim
Anzeige aller Prozesse, die gerade auf die CD-ROM-Gerätedatei "/dev/sdc" zugreifen:
# lsof /dev/sdc
Beenden aller Prozesse, die noch auf ein ins CD-ROM-Laufwerk eingelegtes Medium zugreifen:
# kill $(lsof -t /cdrom)
Anzeige aller offenen Dateien des Prozesses mit der PID 2326:
# lsof -p 2326
Anzeige aller offenen Dateien im Verzeichnis "/tmp" und seinen Unterverzeichnissen, ohne dabei auf symbolische Links zu achten:
# lsof +D /tmp
Anzeige aller vom Benutzer "max" geöffneten Dateien:
# lsof -u max
Anzeige aller offenen Dateien, die nicht der Benutzer "root" geöffnet hat:
# lsof -u ^root
Anzeige einer ähnlichen Prozessliste wie ps aux durch Auflisten der Einträge mit Dateideskriptoreintrag "txt" statt der sonst üblichen Nummer ("txt" steht für Programmcode und Daten, also eine ausgeführte Datei):
# lsof -d txt
Anzeige aller gelöschten Dateien, die noch geöffnet sind und daher Plattenplatz verbrauchen, aber in keinem Verzeichnis erscheinen (Dateien mit weniger als einem Link):
# lsof +L1
Anzeige aller netzwerkrelevanten Dateien:
# lsof -i
Anzeige aller netzwerkrelevanten Dateien, ohne die Portnummern als Dienstbezeichnung auszuschreiben und ohne die Hostnamen aufzulösen (daher deutlich schneller):
# lsof -i -P -n
Anzeige aller IPv6-bezogenen Dateien:
# lsof -i6
Anzeige aller aktiven Verbindungen:
# lsof -i | grep '\->'
Anzeige aller derzeit vom Benutzer "www-data" geöffneten Netzwerkdateien (UND-Verknüpfung durch "-a"):
# lsof -a -i -u www-data
In BSD wurden viele Details im Inneren besser umgesetzt als in Linux. Besonders FreeBSD kann durch die große Anzahl an portierten Programmen sehr gut als Arbeitsplatzbetriebssystem eingesetzt werden. Wenn unter *BSD ein "Port" existiert, ist die Installation von Software in *BSD einfacher als unter Linux, da der "Port" den Luxus bietet, das die Quelle, die Patches und andere Besonderheiten, dem USER nicht bekannt sein müssen da diese Informationen bereits im "Port" eingepflegt wurden.
Bei den bekanntesten Vertretern der BSD-Reihe handelt es sich um drei Betriebssysteme, die jeweils auf einem anderen Gebiet spezialisiert sind:
Das selbst die GNU nicht ganz zufrieden mit dem Linux-Kernel ist sieht man schon daran, dass sie (trotz Kritik) das Projekt HURD nie eingestellt haben und sogar Portierungen der Debian GNU-Pakete auf die BSD-Kernel (z.B. Debian GNU/kFreeBSD) erfolgen. Linux ist eben mehr Marketing als Brillants. Linuz Torwalds (der Initiator des Kernels Linux) sagte einmal sinngemäß, das der Linux-Kernel nur gut genug zu sein braucht, er muss nicht perfekt sein; es sei viel wichtiger, das er über viele Funktionen verfügt. Das NetBSD-Team dagegen, vertritt dagegen nicht die Philosophie "Es funktioniert, also ist es richtig.", sondern "Es funktioniert nicht, bis es richtig ist.". Das NetBSD-Team legt auf die vollständige Befolgung von POSIX und Standard C am meisten Wert von allen freien Betriebssystemen.
Presse: Meine Erfahrungen decken sich mit diesen (doch teilweise recht aufwendig betriebenen) Test's:
Linux 2.4 vs. FreeBSD 4.1.1:
Ich bin von NetBSD, FreeBSD und OpenBSD gleichermassen begeistert, jedes fasziniert auf seine eigene Art. Doch werde ich in meinem privaten Umfeld (ersteinmal) nur FreeBSD einsetzen, da am Arbeitsplatz (Workstation) die Anzahl der verfügbaren Software sehr wichtig ist und die speziellen Unterschiede der drei Produkte hier eine geringere Rolle spielen. Nach dieser Wertung heisst der Kandidat auf Platz 2 "NetBSD".
Linux verwendet seit dem Kernel 2.6 endlich wieder ein brauchbares Speichermanagement und weil bei FreeBSD der Desktop immer noch recht stiefmütterlich behandelt wird, setze ich auf meinen Desktop-Rechnern (auch Laptop) seit 2005 Linux ein.
FreeBSD wird allerdings auf meinem Server bleiben!
Für diesen Zweck hatte ich verschiedene Betriebssysteme (NetBSD, Nexenta, Solaris und OpenSolaris) getestet. Aber leider hatte jedes dieser Betriebssysteme eigene lobenswerte Vorteile aber auch irgendeine Schwäche, mit der ich auf meinem Server nicht leben wollte. Und so wird FreeBSD auch in Zukunft auf meinem Server bleiben.
diese Schwächen haben mich besonders gestört:
NetBSD - hat keine Paketmanagement, bei einem Update hat man so sehr viel (Hand-)ArbeitNexenta - leider gibt es hier nur eine (für mich persönlich) unzureichende Anzahl an installierbaren Programmen, das beuen von Programmen ist deutlich unkomfortabler als bei BSDSolaris - es gibt nur gegen Geld (Sicherheits-)Updates, das Paketmanagement ist eher rudimentär als komfortabel, weiterhin gibt es hier leider nur eine (für mich persönlich) unzureichende Anzahl an installierbaren Programmen, das beuen von Programmen ist deutlich unkomfortabler als bei BSDOpenSolaris - leider gibt es hier nur eine (für mich persönlich) unzureichende Anzahl an installierbaren Programmen, das beuen von Programmen ist deutlich unkomfortabler als bei BSD
Linux hat mächtig aufgeholt, so das ich jetzt nicht mehr sagen kann, dass BSD besser ist als Linux oder das Linux besser ist als BSD… - Hinsichtlich der Sicherheit hat BSD aber immernoch deutlich die Nase vorne. Auch bei Änderungen im System ist BSD weiterhin deutlich Anwenderfreundlicher als Linux. Wenn beispielsweise in Linux Geschmacksrichtungen geändert werden (ifconfig → ip), hat das sehr oft zur Folge, dass man seine Skripte anpassen muss, solche nervigen Änderungen gibt es bei BSD nur dann, wenn es wirklich sein muss und sinnvoll ist (also sehr, sehr selten).
Aber anders ist es immer noch:
KolibriOS ist ein grafisches 64-Bit-Betriebssystem, welches komplett in Assembler geschrieben wurde. Es wurden hier alle Zwischenschichten weck gelassen und sich auf das unbedingt nötigste Konzentriert. Es ist nur 1,4 MiB groß und Ratten-Tüten-schnell.