set file permissions for 100 directories & its files
I have a directory called /Data
It has many directories; probably 100. Inside those dir I have executable files - They shouldn't be executable. For example lets just say /Data has 2 directories calles /folder1 and /folder2 I would like to be at /Data and issue one command to give the subsequent directories rwxr xr x and its subsequent files rw r r Can this be done or do I have to go to each of the 100 directories and chmod -x * ?? |
I have always found its easier dealing with numbers when modifying permissions. Read is 4, write 2, and execute 1. This means the rx is 5 and rw is 6. With that in mind, it would issue a chmod -R 644 * That would (recursively) from the attach point change permissions to rw,r,r.
|
I've tried that already. It doesnt work becasue:
it takes away the x permission on all the directories, making it impossible for other users to read the file. Directory drw-r--r-- 2 Smith users 3208 Mar 13 2004 temp/ ITS CONTENTS -rw-r--r-- 1 Smith users 153454 Aug 5 2002 sample I need other users to be able to look into the directory and read the files. |
I have asked myself this question - but I still have not found a solution.
With Code:
ls With Code:
ls -d Code:
ls --directory Quote:
I think this means that you can see all (sub)directories in the choosen directory. Further I think if you can find this out, it's simple to write a short script doing what you want. The problem is: ls -d shows me only the directory itself with one dot. nothing more. |
1) cd /Data
2) chmod -R 755 * 3) find ./ -type f | xargs chmod 644 Step 2 is just to be sure your directories are correct. Step 3 will find any 'regular' files (see 'man find' for other types), and then make them non-executable. Enjoy! --- Cerbere |
Another way of doing it is using the -exec option of the find command.
1) cd /Data 2) find ./ -type d -exec chmod 755 {} \; 3) find ./ -type f -exec chmod 644 {} \; If only a handful of files and directories need changing, you can add the -perm test to return files with execute permissions for Groups and Others. --- If this directory is truly a data directory, and its own partition, consider also using the -noexec option when mounting. You the owner won't be able to execute files from there either, but this is added insurance. |
thanks for your replies.
|
All times are GMT -5. The time now is 04:15 PM. |