![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !! |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Scripts and changing users | bonekrusher | UNIX for Dummies Questions & Answers | 1 | 02-05-2008 04:55 AM |
| changing permission using FTP | panknil | Shell Programming and Scripting | 3 | 11-07-2007 04:08 PM |
| changing wtmp ownership and permission | voa2mp3 | Linux | 1 | 10-15-2007 03:48 AM |
| Changing userID and Changing group and GID | deal732 | Shell Programming and Scripting | 2 | 04-18-2007 07:09 AM |
| permission | dozy | UNIX for Dummies Questions & Answers | 1 | 12-28-2004 07:00 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
|||
|
changing permission using scripts
I have been trying to create a script that changes the user rights to read in the 'other' group across directories. The problem I'm having is that when i execute the script, the permissions of the directories remains the same.
HELP |
| Forum Sponsor | ||
|
|
|
|||
|
After creating the directories shown below, I wanted to create a script that would show the permission for these directories using the ls -ld command...
mkdir SPADE cd SPADE mkdir HARLEM BRONX HACKNEY WHITEHALL BARKING cd HARLEM mkdir CANADA SHOELY PALUVA DELOPS So I created this little script.... echo "This script demonstrates the permission for the directories" echo"" echo "Permission for the SPADE directory" cd SPADE ls -ld echo "" echo "Permission for the HARLEM directory" cd HARLEM ls -ld echo "" echo "Permission for the BRONX directory" cd .. cd BRONX ls -ld echo "" echo "Permission for the HACKNEY directory" cd .. cd HACKNEY ls -ld echo "" echo "Permission for the WHITEHALL directory" cd .. cd WHITEHALL ls -ld echo "" echo "Permission for the BARKING directory" cd .. cd BARKING ls -ld cd .. cd HARLEM echo "" echo "Permission for the CANADA directory" cd CANADA ls -ld echo"" echo "Permission for the SHOELY directory" cd .. cd SHOELY ls -ld echo "" echo "Permission for the PALUVA directory" cd .. cd PALUVA ls -ld echo"" echo "Permission for the DELOPS directory" cd .. cd DELOPS ls -ld Can this script be shortened to create the same results?? |
|
|||
|
yes, you could use a for loop and store each directory name in one single array. disregarding specific shell syntax, and the fact that i dont know offhand what shell can actually use arrays (if not you could store each name in a file and have the for (or foreach) loop run through the file), here is an out line of how that would work:
Code:
directories_a[4] = {HARLEM, BRONX, HACKNEY, WHITEHALL, BARKING};
directories_b[3] = {CANADA, SHOELY, PALUVA, DELOPS};
mkdir SPADE;
cd SPADE;
for(i = 0; i<=4; i++)
{
mkdir $directories_a[i];
var_permissions_a[i]+=`ls -d directories_a[i]`;
}
cd HARLEM;
for (y = 0; y<=3; y++)
{
mkdir $directories_b[y];
var_permissions_b[y]+=`ls -d directories_b[y]`;
}
now, please keep in mind that the code i just wrote above is just ment as a prototype, you will have to make it wokr with whatever language your script is in. that stuff up there becomes a mix of at least two different languages and wont run like that on anything |