Visit Our UNIX and Linux User Community


Script to change Permissions on files and directories


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script to change Permissions on files and directories
# 1  
Old 08-13-2013
Script to change Permissions on files and directories

Hey, It's me again.

Have a problem, that's not really a problem. I have the below script, that goes to the directory I want it to go to. lists out the directories available, lets you choose the directory you want, then it changes the permissions on said directory. using chmod -R and chown -R.

I however am setting chmod to 0770 recursively, but I want to be able to chose the directory, go into the directory, and determine if it's a file then chmod 0660, if directory 0770 and so on and so forth throughout the entire directory structure

I know i can test -f a file or test -d a directory. But cant work the logic out in my head to get what I want accomplished any help would be appreciated.

Code:
#!/bin/bash

source /generic/utils/etc/environments/perm.conf

cd $ENVR
DIRS=`ls -l $ENVR | egrep '^d' | awk '{print $9}'`

for DIR in "${DIRS[@]}";
do
    echo "$DIR"
        echo "Which environment do you want?: "
        echo -n "> "
        read i
echo "Changing permissions now..."

sudo chown -R $OWN:$GRP "$i" && sudo chmod -R $MOD1 "$i"
#cd $ENVR/$i
#sudo chmod -R $MOD2 *

echo "Permissions are changed!"

done


Last edited by gkelly1117; 08-13-2013 at 10:59 PM..
# 2  
Old 08-13-2013
Perhaps the following replacement for your script will give you a template showing how you can attack your problem:
Code:
#!/bin/bash
source /generic/utils/etc/environments/perm.conf
find $ENVR \( -type f -exec echo chmod 0660 {} + \) -o \( -type d -exec echo chmod 0770 {} + \)

This User Gave Thanks to Don Cragun For This Post:
# 3  
Old 08-14-2013
What do you mean by "environment"?
Maybe the following code snippet can help. In this example, I'm passing a certain file or directory as argument. You can later change that to better suit your needs (insert the modified code right after the line where it says Changing permissions now...:
Code:
#!/bin/bash
if [ -f $1 ]; then
    sudo chown owner:group $1
    chmod 660 $1
elif [ -d $1 ]; then
    sudo chown -R owner:group $1
    chmod -R 770 $1
fi

Then, after the for loop is over, I'd add the confirmation message:
Code:
if [ $? -eq 0 ]; then
    echo "Permissions were changed successfully."
fi

Hope it helps.
This User Gave Thanks to gacanepa For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #649
Difficulty: Easy
aterm is an rxvt based terminal emulator developed for Afterstep.
True or False?

10 More Discussions You Might Find Interesting

1. AIX

Permissions on directories and files

Hello, I have a main directory called /test123 /test123 has lot of sub-directories and files. drwxr-x--- 21 root system 4096 Jan 25 10:20 /test123 Here, "other" does not have any access to /test123 folder. How can we provide read-only access to others on /test123... (1 Reply)
Discussion started by: aaron8667
1 Replies

2. Solaris

Change permissions for files

Hi! I have a dir in a server, that receives files with the wrong permissions, so I decide to put on a cron entry that changes its permitions, but because of the time gap, not all of them get changed. What I did was the following: ... (14 Replies)
Discussion started by: fretagi
14 Replies

3. Shell Programming and Scripting

Find only files/directories with different permissions/owners

My git post-update has the following lines in it to make sure the permissions are set right: find /usr/local/apache/htdocs -type d -print0 | xargs -0 chmod 755 find /usr/local/apache/htdocs -type f -print0 | xargs -0 chmod 644 chown -R apache:apache /usr/local/apache/htdocsThe only problem is... (5 Replies)
Discussion started by: dheian
5 Replies

4. Shell Programming and Scripting

Help on script to change permissions

Hi All I have the following script that is supposed to change permissions of incoming files to a directory, but it does not seem to do what I want, please can you help: mkdir -p /tmp/tmpdir find /moneta_polled01/sgsn/ -exec ls -l {} \; |grep -v rwxrwxrwx |awk '{print $9}' >... (4 Replies)
Discussion started by: fretagi
4 Replies

5. Shell Programming and Scripting

Help on script to change permissions

Hi I have written the following script that later I want to put in cron,: #!/bin/bash _find="/usr/bin/find" _paths="/moneta_polled01/mediation_gsm /moneta_polled01/mediation_mmsc" for d in $_paths do $_find $d -type f -exec chmod 777 {} \; done but it does not seem to be... (8 Replies)
Discussion started by: fretagi
8 Replies

6. Linux

Default user:group permissions while creating files and directories

Hi, I am working on setup a environment where only a specific user can upload the builds on htdocs of apache. Now i want that a specific user can copy the builds on htdocs folder. I created a group "deploy" and assign user1 and user2 to this group. On Apache side i mentioned User=deploy... (3 Replies)
Discussion started by: sunnysthakur
3 Replies

7. Shell Programming and Scripting

script to change the access permissions of the files

Hi, I want to change the access permissions of the files whose extension is same.For example *.c but these are inside a directory and inside that other directory is there and it contains the .c files..for example-- So my aim is to search the files under src and change the access permissions... (3 Replies)
Discussion started by: smartgupta
3 Replies

8. UNIX for Dummies Questions & Answers

how to change permissions only to files, not directories....?

Hi, I am really new to unix, any help is much appreciated. I need to change permissions of all files under several subdirectories to 700 but keep directories readable (755). Why ? Because I need a FTP user to only list his files and can't read them. But to browse to subfolder, the directories... (3 Replies)
Discussion started by: narrok
3 Replies

9. Shell Programming and Scripting

Need help in changing Permissions to 775 for files and directories

Hi All I need to create a script which would change Permissions to 775 All the Files and directories will be mentioned in the Paramter files Can anyone give a Hint how to proceed in this ?? THanks (1 Reply)
Discussion started by: ranga27
1 Replies

10. UNIX for Dummies Questions & Answers

How to change default permissions on new files

Hello, I would like to know if there was any way I can change the default permissions for new files being generated within a certain directory. Would I need to have the same permissions set at the directory level as for the files being generated in it. Regards, Rdgblues (1 Reply)
Discussion started by: rdgblues
1 Replies

Featured Tech Videos