web-dev-qa-db-fra.com

Rechercher des fichiers en fonction d'une autorisation

Comment trouver une liste de fichiers ayant des autorisations spécifiques?

Je souhaite rechercher les fichiers appartenant à l'utilisateur root qui possèdent l'autorisation rwx pour le propriétaire.

Est-il possible de trouver une liste de ces fichiers? J'utilise Ubuntu 16.04.

14
Avani badheka

Oui, GNU find peut le faire:

-utilisateur uname

Le fichier appartient à l'utilisateur uname (ID utilisateur numérique autorisé).

-perm -mode

Tous les bits de permission sont définis pour le fichier. Les modes symboliques sont acceptés sous cette forme, et c'est généralement la manière dont vous souhaitez les utiliser. Vous devez spécifier 'u', 'g' ou 'o' si vous utilisez un mode symbolique. Voir la section EXEMPLES pour quelques exemples illustratifs.

Alors tu veux:

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

Si vous souhaitez rechercher tous les fichiers pour lesquels un utilisateur dispose de certaines autorisations (qu'il soit propriétaire (et même défini via ACL)), vous pouvez utiliser find avec -readable, -writable et -executable.

Pour trouver tous les fichiers pour lesquels l'utilisateur sam a l'autorisation de lecture

Sudo -u sam find /path/to/directory -readable -ls
  • Sudo -u sam est nécessaire car les trois commutateurs mentionnés fonctionnent avec les autorisations de l'utilisateur qui a appelé find - vous avez donc besoin de Sudo pour exécuter find en tant qu'utilisateur sam .
  • -ls affiche l'entrée complète pour chaque fichier trouvé

autres exemples
Pour rechercher tous les fichiers pour lesquels sam a executeowrite permission.

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

Pour rechercher tous les fichiers pour lesquels sam possède les autorisations executeetread

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

en écriture est pas mal orthographié!

5
guntbert