8.9.6. locate
und updatedb
Der Befehl locate
kann den Ort einer Datei finden, wenn Sie nur einen Teil ihres Namens kennen. Er zeigt das Ergebnis fast sofort an, da er in einer Datenbank nachschlägt, die den Ort aller auf dem System befindlichen Dateien speichert; diese Datenbank wird täglich durch den Befehl updatedb
aktualisiert (ausgeführt durch das Skript /etc/cron.daily/find
).
Da jeder locate
verwenden kann, ist es wichtig, dass versteckte Dateien dem Benutzer nicht angezeigt werden. Daher läuft der Befehl updatedb
mit den begrenzten Berechtigungen des Benutzers nobody, was auf Unix-Systemen ein typisches Muster für diese Art von Aufgaben ist. Darüber hinaus kann der Administrator einstellen, dass einige Verzeichnisse übersprungen werden, indem er sie einfach in der Datei /etc/updatedb.conf
unter der Variablen PRUNEDPATHS
einträgt.
Das Paket slocate geht noch hierüber hinaus, indem es den Befehl locate
durch eine sicherere Version ersetzt, die nur die Namen von Dateien ausgibt, auf die der Nutzer, der diesen Befehl verwendet, zugreifen kann.