Finden Sie Dateien basierend auf Erlaubnis


Antworten:


23

Ja, GNU findkann das:

-user uname

Die Datei gehört dem Benutzer uname (numerische Benutzer-ID zulässig).

-perm -mode

Alle Berechtigungsbit-Modi werden für die Datei festgelegt. Symbolische Modi werden in dieser Form akzeptiert, und dies ist normalerweise die Art und Weise, wie Sie sie verwenden möchten. Sie müssen 'u', 'g' oder 'o' angeben, wenn Sie einen symbolischen Modus verwenden. Im Abschnitt BEISPIELE finden Sie einige veranschaulichende Beispiele.

Also du möchtest:

find /path/to/directory -user root -perm -u+rwx

5

Wenn Sie nach allen Dateien suchen möchten, für die ein Benutzer eine bestimmte Berechtigung hat (unabhängig davon, ob er der Eigentümer ist (und sogar über die ACL festgelegt wurde)), können Sie findmit -readable, -writableund -executable.

Um alle Dateien zu finden, für die der Benutzer sam Leserechte besitzt

sudo -u sam find /path/to/directory -readable -ls
  • sudo -u samwird benötigt, da die drei genannten Schalter mit den Berechtigungen des aufgerufenen Benutzers arbeiten . findSie benötigen also sudo, um findals Benutzer sam ausgeführt zu werden .
  • -ls zeigt den vollständigen Eintrag für jede gefundene Datei

weitere Beispiele Um
alle Dateien zu finden , für die sam hat execute oder write Berechtigungen

sudo -u sam find /path/to/directory -writable -or -executable -ls

Für alle Dateien , für die sam hat execute und read Berechtigungen

sudo -u sam find /path/to/directory -readable -and -executable -ls

beschreibbar ist nicht falsch geschrieben!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.