back to the Linux Page
Dies ist der Inhalt eines privaten Linux-Workshops, der aufgrund von Anfragen aus dem Bekanntenkreis organisiert wurde.
sinnvolle Vorerfahrung:
Mitzubringen:
ein Standard-PC mit
Dauer: 1 Tag
Am Ende des Tages wird dieser PC als File- und Print-Server (wofür andere Leute für teures Geld Novell oder NT kaufen) für ca. 5-20 Clients verwendbar sein (begrenzt durch Leistung, nicht durch Lizenzen).
Begrüßung
Vorstellungsrunde (Name, Tätigkeit, Interesse an Linux, spezielle Wünsche für den Workshop)
Boot-Disketten erstellen oder von CD booten können
Platte partitionieren (Swap nicht vergessen)
Netzwerkadresse und -namen eingeben
zu installierende Pakete auswählen
Root-Paßwort wählen (root = Administrator, Supervisor etc. - der der alles darf)
ersten Benutzer einrichten
Kein Betrieb ohne Anmeldung!
Unix, im Gegensatz zu DOS/Windows, unterscheidet grundsätzlich Groß- und Kleinschreibung, insbesondere bei Benutzernamen, Paßwörtern, Dateinamen, Verzeichnisnamen. Empfohlener Stil: alles in kleinbuchstaben.
Bein Anmelden (Benutzername und Paßwort) wird das Startprogramm des Benutzers (häufig /bin/sh, entspricht command.com) gestartet.
Das Ende dieses Startprogramms bedeutet "Abmelden".
Strg-D = Dateiende (wie Strg-Z bei DOS) - wenn die Shell gesagt bekommt "Ende des Stroms von Befehlen", dann beendet sie sich.
Ebenfalls zum Beenden möglich: exit (wie bei DOS), logout
Unix-Maschinen nie einfach so ausschalten, immer shutdown.
shutdown -r now
= reboot
shutdown -h now
= halt
shutdown now
= single user modus
Im Zweifelsfall stelle man sich eine DOS-Eingabeaufforderung vor.
Befehl man befehl
= Anzeigen der Handbuchseite zum Befehl
Befehl pwd
= Anzeigen des Namens des aktuellen
Verzeichnisses
Befehl ls
= Anzeigen des Inhalts (Dateien, Unterverzeichnisse)
des aktuellen Verzeichnisses
Optionen zu Befehlen: mit - (minus), z.B. ls -l
, ls
-al
, ls -alR
Befehle sind z.B. mit pipes kombinierbar: ls -alR | less
mkdir
= Verzeichnis anlegen
cd
= in´s Verzeichnis wechseln
rmdir
= Verzeichnis löschen
cp
= copy
mv
= move (verschieben oder umbenennen)
cat
= type (auch für mehrere Dateinamen
hintereinander)
grep
= durchsuchen
Roh, aber herzlich. Es gibt auch andere Editoren, aber die haben immer irgendwelche Nachteile. Für den Systemverwalter ist das schlimmste ein Editor, der selbständig Zeilenumbrüche einbaut, z.B. pico - der ist für Emails schön, aber für Konfigurationsdateien Gift.
Aufruf: vi Dateiname
Verlassen mit Speichern: Esc :wq
Verlassen ohne Speichern: Esc :q!
Gewöhnungsbedürftig: man muß umschalten zwischen Befehlsmodus und Textmodus:
i
= insert, a
= append,
R
= replace
Esc verläßt den Textmodus.
x | Zeichen löschen |
dd | Zeile löschen |
:w | Datei speichern |
:q | vi verlassen |
:q! | vi verlassen ohne zu speichern |
/suchtext | Text suchen |
z.B. wie schon von DOS bekannt: dir | sort | more
cat datei | mail user@domain
schickt datei als Mail an
user@domain
selbst Ein- und Ausgabegeräte.
Beispiel cat /dev/mouse
, cat /dev/fd0
tar cvf - / | gzip | /dev/tape
sichert das komplette
Dateisystem komprimiert auf Band
ein Programm das läuft heißt Prozeß. Ein Programm kann mehrmals gleichzeitig laufen, z.B. ein Webserver, der gleichzeitig mehrere verschiedene Anfragen bearbeitet.
Befehle ps (process status), kill (Prozeß "abschießen"), top (wer verbraucht am meisten Rechenzeit), pstree | less
Strikt getrennte Speicherbereiche zwischen den Prozessen sorgt für hohe Stabilität (Stärke von Linux):
"Sanftes" Multitasking: wenn mehrere Prozesse laufen, wird es gleichmäßig langsamer, bleibt aber ruckfrei.
Jeder Shell-Befehl startet einen separaten Prozeß, ggf. auch im Hintergrund ("&" nach dem Befehl)
TCP/IP ist die "Muttersprache" von Unix.
(IP-Adressen usw. wird als bekannt vorausgesetzt)
Befehl netstat zeigt laufende Netzwerkverbindungen.
netstat -t -n zeigt nur TCP-Verbindungen und nur die numerische IP-Adresse
(keine Namen, angenehm wenn Nameserver nicht erreichbar ist).
Server = Prozeß, der Anfragen beantwortet, z.B. Name-Server, Web-Server, Datei-Server.
/etc/hosts kann als Ersatz für Name-Server dienen. Alle Rechner, die diesen Rechner im Normalbetrieb kontaktieren, sollten da eingetragen werden.
inetd ist ein Meta-Server, der auf Anfrage den jeweils passenden Serverprozeß startet. "passend" wird in /etc/inetd.conf festgelegt (mal anschauen).
Keine Laufwerksbuchstaben, statt dessen ein großer Verzeichnisbaum.
Zusätzliche Geräte (Festplattenpartitionen, CD-ROM, Diskette, Netzwerkdienst) müssen vor Benutzung erst "gemountet" werden. Konfiguration in /etc/fstab
z.B. mount /cdrom
, umount /cdrom
Während eine CD gemountet ist, läßt sich die Schublade nicht öffnen. Erst umount!
Disketten im DOS-Format lassen sich mit den mtools (mdir, mcopy, ...) benutzen, ohne daß man sie erst mounten muß.
DOS hat von Unix die Logik der Unterverzeichnisse kopiert. Zum Trennen der Verzeichnisnamen in einem Dateipfad dient in Unix der / (slash), im Gegensatz zum \ (backslash) bei DOS. Daher kommen auch die / bei den WWW-URLs
Heimatverzeichnis des Super-Users
Benutzer = login-Namen. Jeder Benutzer hat genau ein Heimatverzeichnis und genau ein Startprogramm (häufig /bin/sh)
Gruppen = Gruppen von Benutzern (schwer zu erraten...). Jeder Benutzer kann zu beliebig vielen Gruppen gehören, jede Gruppe kann beliebig viele Benutzer enthalten
Jede Datei und jedes Verzeichnis gehört genau einem Benutzer und genau einer Gruppe.
Eine Datei/Verzeichnis einem Benutzer zuordnen: chown Benutzername
Dateiname
(change owner)
Eine Datei/Verzeichnis einer Gruppe zuordnen: chgrp Gruppenname
Dateiname
(change
group)
Rechtlich gesehen gibt es für eine Datei/Verzeichnis genau 3 Sorten von Leuten: Eigentümer (user, owner, x00), Gruppe (group, x0), Rest der Welt (others, world, x).
Für jede dieser Sorten von Leuten können 3 Bit gesetzt werde (oder eben nicht): Lesen (read, 4), Schreiben (write, 2), Ausführen (execute, 1).
"Ausführen" bei Dateien bedeutet, daß der Name dieser Datei als
Kommando verwendet werden kann.
"Ausführen" bei Verzeichnissen bedeutet, daß auf das Verzeichnis
überhaupt zugegriffen werden kann (ist also immer nötig).
"Schreiben" bei Verzeichnissen bedeutet, daß jede Datei (unabhängig von den Rechten auf diese Datei) in diesem Verzeichnis hinzugefügt oder gelöscht werden kann.
Befehl chmod, z.B. chmod
"Sticky" (t, 1000): bei Verzeichnissen: nur solche Dateien können gelöscht werden, für die der Benutzer auch Schreibrechte hat.
"set group id" (g, 2000): bei Verzeichnissen: neu angelegte Dateien gehören immer der Gruppe, der dieses Verzeichnis gehört; bei ausführbaren Dateien: Programm hat die Berechtigungen der Gruppe, der diese Datei gehört, nicht die Berechtigungen desjenigen, der es aufruft (evtl. Sicherheitsrisiko)
"set user id" (s, 2000): bei ausführbaren Dateien: Programm hat die Berechtigungen des Users, dem diese Datei gehört, nicht die Berechtigungen desjenigen, der es aufruft (Sicherheitsrisiko)
Jede Distribution hat ihr eigenes Werkzeug, bei S.u.S.E. heißt es
yast
(yet another setup tool).
inetd.conf anpassen, damit TCP Verbindung auf Port netbios-ssn (139, siehe /etc/services) und netbios-ns von Samba beantwortet wird
inetd neu starten (/sbin/init.d/inetd stop
,
/sbin/init.d/inetd start
)
Überlegen, welche Verzeichnisse für wen freigegeben werden sollen.
Beispiel: /cdrom read-only für alle, /home/username für jeden User einzeln, /home/alle read-write für alle, /home/spenden für die Gruppe spenden.
create mode 7700 und directory mode 7700 für persönliche Home-Verzeichnisse, 7770 für Gruppenverzeichnisse, damit andere mit Sicherheit keine Rechte haben
force create mode 700 bzw. 770 und force directory mode 7700 bzw. 7770, damit alle nötigen Rechte sichergestellt sind.
[netlogon] Service: siehe Abschnitt in man smb.conf, Logon-Skript einrichten
smb stop/start
Home | Christian Missions | Christustreff Marburg | Pictures of Marburg | Job | Remote Communications | Linux OS | Psion page | Contact