Come cercare file con un'autorizzazione specifica


8

Come posso cercare file con un'autorizzazione specifica. Ad esempio, ho 10000 file e voglio trovare quelli che hanno il flag READ ONLY. In un altro caso, voglio cercarne un altro che abbia un determinato proprietario. O in un altro per vedere i file che sono SOLO LEGGERE ed ESECUTABILI.

Risposte:


9

Probabilmente è più semplice utilizzare il findcomando, che consente di cercare in modo ricorsivo nella struttura di directory. Ad esempio, se in particolare si desidera trovare file di sola lettura, è possibile digitare

find <specify location> -type f -perm -444

Per i file appartenenti a un determinato utente è possibile utilizzare

find <location> -type f -user mike

Per i file eseguibili (per tutti) è possibile utilizzare

find <location> -type f -perm -777

Per quelli che sono eseguibili e di sola lettura per tutti useresti 555 al posto di 777 nell'esempio sopra. È anche possibile cercare i file che appartengono a un gruppo sostituendo -user mikeper -group mike.

Per annullare i termini di ricerca e quindi cercare l'esatto contrario, è possibile utilizzare un punto esclamativo come questo:

find <location> -type f ! -perm -444 

Nota: specificare un trattino prima delle autorizzazioni (ad es. -perm -444) Significa che verranno trovati tutti i file che hanno un flag di sola lettura e non solo quelli 444; per cercare 444 esattamente e solo quello, è sufficiente rimuovere il trattino (ad es -perm 444.).

Nota2: è possibile ricercare combinazioni di autorizzazioni anche utilizzando -aper e e -oper o; ad esempio per trovare esattamente queste autorizzazioni, digitare:

find <location> -type f -perm 744 -o -perm 666

Le directory possono essere cercate con -type d.

Vedi man findper le altre permutazioni disponibili.


+1 per menzionare la differenza tra -444e444
Fr0zenFir

Per me, -perm -444trova i file che hanno l' readautorizzazione, non quelli che sono di sola lettura (significato, che hanno solo read e senza altre autorizzazioni).
Jānis Elmeris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.