
Wie finde ich eine Liste von Dateien, die über bestimmte Berechtigungen verfügen?
Ich möchte Dateien finden, die einem Benutzer gehören , für den der Eigentümer die Berechtigung root
hat .rwx
Gibt es eine Möglichkeit, eine Liste solcher Dateien zu finden? Ich verwende Ubuntu 16.04.
Antwort1
Ja, GNU find
kann das:
-user Benutzername
Eigentümer der Datei ist der Benutzer uname (numerische Benutzer-ID zulässig).
-perm -Modus
Alle Berechtigungsbits für die Datei sind festgelegt. Symbolische Modi werden in dieser Form akzeptiert und dies ist normalerweise die Art und Weise, in der Sie sie verwenden möchten. Sie müssen „u“, „g“ oder „o“ angeben, wenn Sie einen symbolischen Modus verwenden. Einige erläuternde Beispiele finden Sie im Abschnitt BEISPIELE.
Also du möchtest:
find /path/to/directory -user root -perm -u+rwx
Antwort2
Wenn Sie alle Dateien finden möchten, für die ein Benutzer eine bestimmte Berechtigung hat (unabhängig davon, ob er der Eigentümer ist (und sogar ob die Berechtigung über eine ACL festgelegt wurde)), können Sie find
mit -readable
, -writable
und verwenden -executable
.
Um alle Dateien zu finden, für die der BenutzerSamhat Leseberechtigung
sudo -u sam find /path/to/directory -readable -ls
sudo -u sam
ist erforderlich, da die drei genannten Schalter mit den Berechtigungen des aufgerufenen Benutzers arbeiten. Sie müssen also sudo als Benutzerfind
ausführen.find
Sam.-ls
zeigt den vollständigen Eintrag für jede gefundene Datei
weitere Beispiele
Um alle Dateien zu finden, für dieSamhatexecute
oder write
Berechtigungen
sudo -u sam find /path/to/directory -writable -or -executable -ls
Um alle Dateien zu finden, für dieSamhatexecute
Und read
Berechtigungen
sudo -u sam find /path/to/directory -readable -and -executable -ls
beschreibbar istnichtfalsch geschrieben!