[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dateien, die die gleiche uid und gid haben, finden



Heiko Schlittermann, 03/20/08 08:47:

> Peter Jordan <usernetwork@gmx.info> (Do 20 Mär 2008 08:03:50 CET):
>> Jochen Schulz, 03/19/08 22:55:
>>
>>> Peter Jordan:
>>>> ich möchte alle Dateien auf meinem System finden, welche die gleiche UID
>>>> und GID haben. Mit find alleine komme ich zu keiner Lösung. Hat jemand
>>>> ne Idee?
>>> Ich verstehe nicht genau, was Du suchst. Willst Du zu einer bestimmten
>>> UID/GID-Kombination alle finden (leicht), oder willst Du zu jeder
>>> existierenden Kombination von UID und GID alle Dateien aufgelistet
>>> haben?
>>>
>>> J.
>> Irgendwie ist meine Nachricht unvollständig geworden, ich bitte um
>> Entschuldigung, eigentlich sollte noch ne erklärung dazu, wozu ich das
>> brauche:
>>
>> Ich möchte auf meinem System alle Verzeichnisse finden, die Gruppen-
>> bzw. Globalschreibrechte besitzen, aber die Verzeichnisse filtern, die
>> zwar Gruppenschreibrechte haben, bei denen aber uid=gid ist.
>>
>> Wie ich Verzeichnisse finde, die gruppen und global schreibrechte haben,
>> weiß ich:
>>
>> find / -path /proc -prune \( -perm -g+w -o -perm -o+w \) -type d -exec
>> ls -lad {} \;
>>
>> nur wie filtere ich möglichst simple die Verzeichnisse mit (-g+w und
>> uid=gid und nicht o+w) aus?
> 
> Ob das möglichst simpel ist, weiß ich nicht:
> 
>  find .... -printf '%u:%g:%f\n' | perl -ne '/(.*?):(.*?):(.*)/ && $1 eq $2 and print "$3\n"'
> 


Vielen Dank,

so funktionierts:

find ... -printf '%M %u %g %f\n'  | perl -ne '/(.{8})(.)(.) (.*?) (.*?)
(.*)/ && !(($4 eq $5) and !($2 eq w)) and print  "$1$2$3 $4 $5 $6\n"'

PeterJordan


Reply to: