Finden Sie Dateien basierend auf Erlaubnis

15

Wie finde ich eine Liste von Dateien mit bestimmten Berechtigungen?

Ich möchte Dateien finden, deren Eigentümer rootBenutzer sind und die über die rwxBerechtigung für den Eigentümer verfügen .

Gibt es eine Möglichkeit, eine Liste solcher Dateien zu finden? Ich benutze Ubuntu 16.04.

Avani Badheka
quelle
Ist dies hilfreich ? Askubuntu.com/questions/786347/…
NonStandardModel

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
terdon
quelle
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!

guntbert
quelle