[CentOS] replacing permissions on uploaded windows files

Wed Aug 19 21:14:35 UTC 2009
Filipe Brandenburger <filbranden at gmail.com>

Hi,

On Wed, Aug 19, 2009 at 17:02, Dave<dave.mehler at gmail.com> wrote:
>        I've got a CentOS box and users are putting Windows long files on
> it, files with " " and " - " in their filenames. I'm trying to adjust the
> permissions as well as user and group membership and i'd like the changes to
> be sticky. On the tld i've set permissions of 2755 and am trying to batch
> convert the files and subfolders in it. I've done this:

I believe what you want is 2775 and 664 (group writable), right?

> find tld -type f |xargs chmod 644 {} \;
> find tld -type d |xargs chmod 755 {} \;
>
>        Both of these are failing due to the spaces and dashes. I've tried
> enclosing those {} in quotes, no good. Has anyone done this with shell or
> perhaps perl?

Use "-print0" in find and "-0" in xargs. Also, you don't need the "{}
\;", that is syntax for "find -exec" which you are not using.

I think what you want is:

$ find tld -type f -print0 | xargs -0 chmod 664
$ find tld -type d -print0 | xargs -0 chmod 2775

HTH,
Filipe