LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   chmod recursive on files on (https://www.linuxquestions.org/questions/linux-newbie-8/chmod-recursive-on-files-on-296488/)

dlublink 03-01-2005 07:33 PM

chmod recursive on files on
 
Hi

chown dave:users * -R will change the ownerships of all files and folders in a directory and recurse into it.

Is there a way with the chown command and the chmod command to apply only to directories or only to folders.

So I make all folders writable, but preexisting files are read only.

Thanks,

David

chris318 03-01-2005 07:46 PM

There is probably a thousand ways to do it. Ever hear of redirection? I could tell you but then you wont learn anything, go read a linux manually for beginners. Redirection is in there gaurenteed.

Dark_Helmet 03-01-2005 08:16 PM

Redirection? I'm not sure I follow you on that one... That typically refers to changing where standard output/input/error go. I'm not sure how that would help with the problem. Like I said though, I might not be seeing what you're getting at.

Anyways, the find command would be perfect for the situation. Crack open the man page (man find) and read up on it. Trust me, it is really, really, really worth your time to understand what options this command has to offer. It is one of the most useful commands... ever. For this specific case, you'll be interested in the "-type" and "-exec" options.

chris318 03-01-2005 08:56 PM

Okay fine I'll tell you one way out of a thousand. :)

find ./ -type d | sed s/.\\//chown\ dave:users\ -R\ / | sh

Man I love linux, a simple thing like that would have taken forever to do in windows.

chris318 03-01-2005 09:01 PM

Slight correction, you don't need the -R option anymore.

find ./ -type d | sed s/.\\//chown\ dave:users\ / | sh

dlublink 03-02-2005 07:38 AM

Thanks,


I know about redirection. < > >> |

I thought about doing just find -d | chown 755, but that didn't work. That darned sed command. I need to learn it.

At any rate, thanks a bunch.

David

Dark_Helmet 03-02-2005 08:45 AM

Ah, ok, now I see about the redirection, but it's not necessary for what I was thinking about:
Code:

find . -type d -exec chown dave:users {} \;
Then for the files:
Code:

find . -type f -exec chmod o+r-w {} \;
Change the chmod to fit what you need; maybe you want to remove execute permissions for all files as well...


All times are GMT -5. The time now is 09:50 AM.