Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Über die Autoren
Über dieses Buch
Linux vs. BSD
1 Der Kernel
2 Die Grundlagen aus Anwendersicht
3 Die Shell
4 Reguläre Ausdrücke
5 Tools zur Dateibearbeitung
6 Die Editoren
7 Shellskriptprogrammierung
8 Benutzerverwaltung
9 Grundlegende Verwaltungsaufgaben
10 Netzwerk-Grundlagen
11 Anwendersoftware für das Netzwerk
12 Netzwerkdienste
13 Mailserver unter Linux
14 LAMP
15 DNS-Server
16 Secure Shell
17 Die grafische Oberfläche
18 Window-Manager und Desktops
19 X11-Programme
20 Multimedia und Spiele
21 Softwareentwicklung
22 Crashkurs in C und Perl
23 Sicherheit
24 Prozesse und IPC
25 Bootstrap und Shutdown
26 Dateisysteme
27 Virtualisierung und Emulatoren
A Die Installation
B Lösungen zu den einzelnen Aufgaben
C Kommandoreferenz
D X11-InputDevices
E MBR
F Die Buch-DVDs
G Glossar
H Literatur

Download:
- ZIP, ca. 6,3 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Plötner, Steffen Wendzel
Das distributionsunabhängige Handbuch
Buch: Linux

Linux
2., aktualisierte und erweiterte Auflage
1119 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1090-4
gp B Lösungen zu den einzelnen Aufgaben
  gp Lösungen zu Kapitel 1
  gp Lösungen zu Kapitel 2
  gp Lösungen zu Kapitel 3
  gp Lösungen zu Kapitel 4
  gp Lösungen zu Kapitel 5
  gp Lösungen zu Kapitel 7
  gp Lösungen zu Kapitel 8
  gp Lösungen zu Kapitel 9
  gp Lösungen zu Kapitel 10
  gp Lösungen zu Kapitel 11
  gp Lösungen zu Kapitel 12
  gp Lösungen zu Kapitel 14
  gp Lösungen zu Kapitel 15
  gp Lösungen zu Kapitel 16
  gp Lösungen zu Kapitel 19
  gp Lösungen zu Kapitel 20
  gp Lösungen zu Kapitel 21
  gp Lösungen zu Kapitel 22
  gp Lösungen zu Kapitel 23
  gp Lösungen zu Kapitel 24
  gp Lösungen zu Kapitel 25
  gp Lösungen zu Kapitel 26


Galileo Computing

Lösungen zu Kapitel 3  toptop

Alias-Wirrwarr

Die Aufgabe:

Was gibt der folgende Befehl aus?

$ alias q=ls 
$ alias q=`q;ls' 
$ q 
...

Listing B.1    alias

Die Lösung:

Zunächst wird ein Alias namens »q« angelegt, der einem ls-Aufruf entspricht. Anschließend wird ein neuer Alias mit dem Namen »q« erzeugt, der den alten Alias »q« überschreibt. Dabei wird der Parameter »q« nicht als Alias interpretiert.

Die Ausgabe wäre also eine Fehlermeldung bezüglich des nicht gefundenen Programms »q« und die Ausgabe der Dateien des Verzeichnisses durch ls.

$ q 
bash: q: command not found 
1.jpg 
101103.cpp

Listing B.2    Die Ausgabe

Für angehende Experten

Die Aufgabe:

Was passiert, nachdem die folgenden Befehle in der bash ausgeführt wurden?

$ uname | tee /tmp/mylog 
Linux 
$ !?na > x 
$ alias displayX=`cat x` 
$ displayX 
...

Listing B.3    Spaß mit der Bash

Die Lösung:

Nachdem uname ausgeführt wurde und durch die Ausgabe des Programms auch in der Datei /tmp/mylog gespeichert wurde, wird versucht, durch !?na den Befehl erneut auszuführen, der als Letztes den String »na« enthielt. Dies wäre natürlich der obige Befehl. Funktionieren wird dies allerdings nicht, denn die Ausgabeumlenkung kann in diesem Fall nicht angewandt werden, weshalb nichts in die Datei x geschrieben wird und auch die nachfolgenden Befehle keine Wirkung haben werden. Lässt man die Ausgabeumlenkung weg, funktioniert der Befehl.

Würde der Befehl trotz Ausgabeumlenkung funktionieren (dieses Feature kommt vielleicht in zukünftigen bash-Versionen noch hinzu), würde der Name des Betriebssystems in der Datei x stehen, und der Alias displayX würde den Befehl »Linux« aufrufen, da durch Kommandosubstitution die Ausgabe des cat-Aufrufs der Wert wäre, den displayX erhalten würde. Das würde natürlich nicht funktionieren, da »Linux« kein gültiger Befehl ist.

Wie geht das?

Die Frage:

Wie können Programme wie chsh (zum Ändern der Login-Shell) oder passwd (zum Ändern des Passworts) die Passwortdateien modifizieren, obwohl sie von nicht-priviliegierten Benutzern ausgeführt werden können?

Die Lösung:

Bei diesen Programmen wird eine ganz übliche Technik verwendet um auch Benutzern ohne root-Rechten die Möglichkeit zu geben, die Programme so auszuführen, als ob man im Besitz von root-Rechten wäre. Die Programme werden dazu mit dem suid-Bit versehen, was das Ausführen unter den Rechten des Eigentümers der Programmdatei ermöglicht.

$ /bin/ls -lh /usr/bin/chsh 
-rwsr-xr-x 1 root root 29K 2007-06-22 20:54 /usr/bin/chsh

Es gibt sogar eine ganze Menge solche Programme, die diese Zugriffsrechte benötigen. Beispielsweise könnte ping nicht mit ICMP-Sockets arbeiten, wenn es nicht die zugehörigen Rechte besäße. Weitere Programme mit solchen Zugriffsrechten sind beispielsweise passwd, sudo, traceroute, at, ping6 und su.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Linux






 Linux
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Einstieg in Linux






 Einstieg in Linux


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-
 Programmierung


Zum Katalog: Praxisbuch Netzwerk-Sicherheit






 Praxisbuch
 Netzwerk-Sicherheit


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de