gefunden ist ein sehr nützlicher Befehl zum Suchen von Verzeichnissen und Dateien, da er eine Vielzahl von Optionen zum Filtern von Suchvorgängen nach Datum, Größe, Typ usw. bietet. Ein sehr leistungsfähiges Werkzeug, das für eine Vielzahl von Zwecken verwendet werden kann, wenn es mit Pipes oder Xargs kombiniert wird, wie wir in anderen Tutorials gezeigt haben. Beispielsweise können Sie alle lokalisierten Dateien auf einmal löschen.
Es wird auch verwendet für Audits aus Sicherheitsgründen oder von Systemadministratoren durchgeführt. Zum Beispiel, um einige Dateien oder Verzeichnisse mit bestimmten aktiven Berechtigungen zu finden, die für die Sicherheit gefährlich sein können. In diesem Tutorial werde ich mich insbesondere einigen Optionen widmen, die Sie vielleicht nicht kannten und die Ihnen helfen können, bestimmte Dateien mit ganz bestimmten Berechtigungen zu finden.
Das wissen Sie schon mit dem -perm Option Sie können nach Dateien / Verzeichnissen suchen, die über eine Reihe spezifischer Berechtigungen verfügen. Zusätzlich können Sie einige zusätzliche Optionen verwenden, um Ihre Suche weiter zu verfeinern oder zu erweitern.
Stellen Sie sich beispielsweise vor, Sie möchten die Dateien oder Verzeichnisse des aktuellen Pfads suchen Gesamtgenehmigungen 777 (rwxrwxrwx), was ein Sicherheitsrisiko darstellen kann:
<br data-mce-bogus="1"> find . -perm 777<br data-mce-bogus="1">
Dies ist typisch, aber stellen Sie sich vor, Sie möchten nach Personen suchen, die nicht über diese Berechtigungen verfügen. Hierfür können Sie verwenden -nicht:
find . -not -perm 777
Wenn Sie die Suche etwas erweitern und keine Dateien oder Verzeichnisse mit solchen spezifischen Berechtigungen finden möchten, können Sie - verwenden. Damit geben Sie an, dass die Dateien mit "mindestens" diese Berechtigungen oder höher (in diesem Fall mindestens 644):
find . -perm -644
Sie können auch nach Dateien / Verzeichnissen suchen, für die die Bits gesetzt sind SUID, SGID und Sticky Bit, die, wie Sie wissen, auch Sicherheitsprobleme darstellen können. Damit Sie jedoch unabhängig von den übrigen Berechtigungen (777, 644 oder was auch immer) nach Personen suchen können, müssen Sie die Standardberechtigungen verwenden / umgehen. Hierfür können Sie jeweils verwenden:
find . -perm /4000 find . -perm /2000 find . -perm /1000
In diesem Fall spielt es keine Rolle, ob es 4777, 4644 oder was auch immer ist. Es würde alle diejenigen lokalisieren, die dieses Bit aktiv haben.
Zuletzt können Sie aber auch diesen anderen Befehl verwenden du musst vorsichtig sein oder Sie könnten einige Dateien, für die bestimmte Berechtigungen erforderlich sind, unangemessen konfigurieren. Wenn Sie jedoch wissen, was Sie tun, können Sie alle Berechtigungen der gefundenen Dateien mit einem einzigen Befehl auf die gewünschten ändern.
find -perm -744 -exec chmod -R 644 {} \;
In diesem Fall ändern Sie alle gefundenen 744 in 644 ...