09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

100 6 Dateien: Aufzucht und Pflege<br />

locate ist so schnell, weil es nicht das Dateisystem absucht, sondern in einer<br />

»Datenbank« von Dateinamen nachschaut, die irgendwann vorher mit dem Programm<br />

updatedb aufgebaut wurde. Das bedeutet natürlich, dass es Dateien nicht<br />

erwischt, die seit der letzten Aktualisierung der Datenbank dazu gekommen sind,<br />

und umgekehrt die Namen von Dateien liefern kann, die seitdem gelöscht wurden.<br />

B<br />

Mit der Option »-e« können Sie locate dazu bringen, nur tatsächlich existierende<br />

Dateinamen zu liefern, aber den Geschwindigkeitsvorteil <strong>des</strong> Programms<br />

machen Sie damit zunichte.<br />

Das Programm updatedb baut die Datenbank für locate auf. Da dieser Vorgang<br />

einige Zeit dauern kann, sorgt Ihr Systemverwalter meist dafür, dass das passiert,<br />

wenn das System sonst nicht viel zu tun hat, auf ständig eingeschalteten Serversystemen<br />

zum Beispiel nachts.<br />

B<br />

Der dafür nötige Systemdienst cron wird in der Unterlage <strong>Linux</strong> für Fortgeschrittene<br />

ausführlich besprochen. Für jetzt mag genügen, dass die meisten<br />

<strong>Linux</strong>-Distributionen einen Mechanismus mitliefern, der dafür sorgt, dass<br />

updatedb regelmäßig aufgerufen wird.<br />

Als Systemverwalter können Sie konfigurieren, welche Verzeichnisse updatedb<br />

beim Aufstellen der Datenbank beachtet. Wie das im Detail passiert, ist distributionsabhängig:<br />

updatedb selbst liest keine Konfigurationsdatei, sondern übernimmt<br />

seine Konfigurationseinstellungen über Kommandozeilenargumente oder<br />

(zum Teil) Umgebungsvariable. Allerdings rufen die meisten Distributionen updatedb<br />

über ein Shellskript auf, das vorher eine Datei wie /etc/updatedb.conf oder<br />

/etc/sysconfig/locate einliest, in der zum Beispiel geeignete Umgebungsvariable<br />

gesetzt werden können.<br />

B<br />

<strong>Die</strong>ses Shellskript finden Sie zum Beispiel in /etc/cron.daily (Details sind<br />

distributionsabhängig).<br />

Sie können updatedb zum Beispiel mitteilen, welche Verzeichnisse es durchsuchen<br />

und welche es auslassen soll; das Programm erlaubt auch die Definiton von<br />

»Netz-Dateisystemen«, die von verschiedenen Rechnern verwendet werden und<br />

in deren Wurzelverzeichnissen Datenbanken geführt werden sollen, damit nicht<br />

jeder Rechner dafür seine eigene Datenbank aufbauen muss.<br />

B<br />

B<br />

B<br />

Eine wichtige Konfigurationseinstellung ist die <strong>des</strong> Benutzers, mit <strong>des</strong>sen<br />

Identität updatedb läuft. Dafür gibt es im wesentlichen zwei Möglichkeiten:<br />

• updatedb läuft mit den Rechten von root und kann so jede Datei in die<br />

Datenbank aufnehmen. Das heißt aber auch, dass Benutzer Dateinamen<br />

in Verzeichnissen ausspähen können, für die sie eigentlich gar<br />

keine Zugriffsrechte haben, zum Beispiel die Heimatverzeichnisse anderer<br />

Benutzer.<br />

• updatedb läuft mit eingeschränkten Rechten, etwa denen <strong>des</strong> Benutzers<br />

nobody. In diesem Fall landen nur diejenigen Dateinamen in der Datenbank,<br />

die in Verzeichnissen stehen, deren Inhalt nobody auflisten darf.<br />

Das Programm slocate – eine Alternative zum gewöhnlichen locate – umgeht<br />

dieses Problem, indem es außer dem Namen einer Datei auch noch<br />

Eigentümer, Gruppenzugehörigkeit und Zugriffsrechte in der Datenbank<br />

speichert und einen Dateinamen nur dann ausgibt, wenn der Benutzer, der<br />

slocate aufgerufen hat, tatsächlich Zugriff auf die betreffende Datei hat.<br />

Auch slocate verfügt über ein updatedb-Programm, das allerdings nur ein<br />

anderer Name für slocate selber ist.<br />

In vielen Fällen ist slocate so installiert, dass es auch unter dem Namen locate<br />

aufgerufen werden kann.<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!