[mythtv] [mythtv-commits] Ticket #3437: Invalid argument to 'find' in mythweb video module scan collection

Michael T. Dean mtdean at thirdcontact.com
Wed May 9 15:40:09 UTC 2007

On 05/09/2007 10:59 AM, MythTV wrote:
> #3437: Invalid argument to 'find' in mythweb video module scan collection
> -----------------------+----------------------------------------------------
>  Reporter:  anonymous  |       Owner:  xris   
>      Type:  defect     |      Status:  new    
>  Priority:  minor      |   Milestone:  unknown
> Component:  mythweb    |     Version:  head   
>  Severity:  medium     |  
> -----------------------+----------------------------------------------------
>  scan.php includes the argument '-readable' to the find command which on
>  the find included with findutils 4.2.27 (CentOS 5.0) is not valid:
>  {{{
>  [darryl at server1 mythweb]$ find /mnt/media1/videos/ -readable -type f
>  find: invalid predicate `-readable'
>  }}}
>  The man page suggests '-perm -a+r'. I have a patch which I will attach in
>  a sec.

find -perm -a+r only matches files that are readable by every user (i.e. 
user (owner), group, /and/ other).  The mode you used in the attached 
patch was actually "-a-r", which matches every file.  find -perm /a+r 
finds files that are readable by any user (i.e. user (owner), group, 
/or/ other, not exclusive).

I have no idea what the "-readable" argument is supposed to do, but only 
finding files that can be read by every user is not appropriate.  It's 
quite possible I may have files that can only be read by the mythtv user 
(owner) and the mythtv or httpd group (where the apache user is assumed 
to be in that group).

IMHO, the proper check should be whether the user running the PHP script 
(i.e. the user running apache) can read the file.  Since we can't know 
whether that means to do a user or group or other check on the file 
(unless we first check the current user and group memberships for the 
process owner and then test all permutations), using -perm is probably 
not appropriate.

But, as specified by the ticket, the "-readable" argument is not a 
standard argument, so it shouldn't be used, either.

Therefore, the best way may be to actually try to read the file--which 
the file command will do for us on the next line--and handle errors 
appropriately (i.e. by skipping the file).


More information about the mythtv-dev mailing list