bug-findutils
[Top][All Lists]
Advanced

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

Re: Bug#329358: [bug #14619] find -perm +... broken in 4.2.25


From: Eric Blake
Subject: Re: Bug#329358: [bug #14619] find -perm +... broken in 4.2.25
Date: Fri, 07 Oct 2005 08:19:45 -0600
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Ph. Marek on 10/7/2005 12:10 AM:
> On Thursday 06 October 2005 17:49, Eric Blake wrote:
> 
>>Follow-up Comment #4, bug #14619 (project findutils):
>>
>>I don't think the original poster has discovered any bugs, rather just
>>their misunderstanding of the (admittedly confusing) POSIX requirements.
> 
> I just read the man-page, where it says:

The man page in CVS is already more up-to-date than 4.2.25, but could
still use some improvement.  It states:

       -perm mode
              File's permission bits are exactly  mode  (octal  or  symbolic).
              Since  an  exact match is required, if you want to use this form
              for symbolic modes, you may have to  specify  a  rather  complex
              mode  string.   For  example  '-perm  g=w' will only match files
              which have mode 0020 (that is, ones for which group  write  per-
              mission is the only permission set).  It is more likely that you
              will want to use the '+' or '-' forms, for example '-perm -g=w',
              which  matches  any  file  with group write permission.  See the
              EXAMPLES section for some illustrative examples.

       -perm -mode
              All of the permission bits mode are set for the file.   Symbolic
              modes  are accepted in this form, and this is usually the way in
              which would want to use them.  You must specify 'u', 'g' or  'o'
              if  you use a symbolic mode.   See the EXAMPLES section for some
              illustrative examples.

       -perm /mode
              Any of the permission bits mode are set for the file.   Symbolic
              modes  are  accepted in this form.  You must specify 'u', 'g' or
              'o' if you use a symbolic mode.  See the  EXAMPLES  section  for
              some illustrative examples.


The man page no longer documents the obsolete -perm +mode, which, as I
stated earlier, really only makes sense for symbolic modes starting with
'a', or for numeric modes.  The man page is wrong in stating that you must
specify 'u', 'g', or 'o' in symbolic mode.

Also, it is unfortunate that there is no syntax for specifying files with
a permission bit explicitly off, besides an exact match.  It might be nice
if there were some sort of permission masking syntax - something like
- -perm /pattern/mask.  For example, -perm /u+r-x/u+rx would explicitly
select files that the user can read but not execute (examining both bits
of the mask to see if the file meets the pattern within that mask), while
ignoring the u+w,go+rwx bits.

- --
Life is short - so eat dessert first!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDRoQA84KuGfSFAYARAip3AKCEIpUFxv5cG9vRYWtG+IxGEX6S+wCgwBn8
9kzCgOGPUjM+DjgHK/ba7Aw=
=uGqV
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]