set file permissions for 100 directories & its files
Linux - SecurityThis forum is for all security related questions.
Questions, tips, system compromises, firewalls, etc. are all included here.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
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
you are able to list the files and (sub)directories in a directory.
With
Code:
ls -d
or
Code:
ls --directory
you should
Quote:
list directory entries instead of contents
(from ls --help).
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.
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.