Sponsored Content
Full Discussion: Permissions script
Top Forums Shell Programming and Scripting Permissions script Post 302385826 by user_invalid on Sunday 10th of January 2010 07:43:51 AM
Old 01-10-2010
Permissions script

Hi there,

I've been having some frustrating problems with a permissions script. Basically I want it to to determine what permissions the owner, group and everybody has for the file passed in.
Here's what I've got:

Code:
#!bin/bash
echo -n "Enter filename: "
read file
owner=$( ls -l $file | cut -c 2,3,4 )
group=$( ls -l $file | cut -c 5,6,7 )
users=$( ls -l $file | cut -c 8,9,10 )
ownername=$( ls -l $file | cut -d " " -f 3 )

oread=NO
owrite=NO
oexec=NO
gread=NO
gwrite=NO
gexec=NO
uread=NO
uwrite=NO
uexec=NO

case $owner in
       *r*)    oread=YES ;;
       *w*)    owrite=YES ;;
       *x*)    oexec=YES ;;
esac

case $group in
        *r*)    gread=YES ;;
        *w*)    gwrite=YES ;;
        *x*)    gexec=YES ;;
esac

case $users in
        *r*)    uread=YES ;;
        *w*)    uwrite=YES ;;
        *x*)    uexec=YES ;;
esac
echo "                          READ    WRITE   EXECUTE" > perm
echo "OWNER $ownername  $oread  $owrite         $oexec" | tr '[a-z]' '[A-Z]' >> perm
echo "GROUP USERS               $gread  $gwrite         $gexec" >> perm
echo "EVERYBODY         $uread  $uwrite         $uexec" >> perm

It seems to display "YES" for all the permissions, even if this is not true. Any help would be appreciated
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script permissions

Hi, I'm trying to execute a shell script from application (Informatica). The script works fine when I execute it from command line but fails when executed from Informatica. The tricky part is that there is other scripts in the same folder that can be executed succesfully from both command line... (1 Reply)
Discussion started by: tmikahan
1 Replies

2. Shell Programming and Scripting

Modify Perl script to work with txt - Permissions script

Hi I have this code, and i want work with a ls -shalR output in .txt What i need read to do this?? Where start? #!/usr/bin/perl # Allrights- A perl tool for making backups of file permissions # Copyright (C) 2005 Norbert Klein <norbert@acodedb.com> # This program is free... (1 Reply)
Discussion started by: joangopan
1 Replies

3. UNIX for Dummies Questions & Answers

Changing permissions in a shell script

Hi All, I have a shell script which we keep on changing permissions on a On-Demand Basis-->for e:g--from 400(Read only) to 740(Execute permission) etc. Is there any way by which I can view the history of the script?-->I am interested in finding out the date-time stamps when the script's... (2 Replies)
Discussion started by: DevotedPupil
2 Replies

4. UNIX for Dummies Questions & Answers

Permissions to files using batch script.

Hi all, I am using a batch script that ftps the compressed xml files to the Unix environment from the Windows environment and i perform this using the below line of coding: echo cd %VAR_TR_FTP_DIR% > %TR_FTP_BATCH_FILE BatchNum% Echo lcd "%VAR_TR_SOURCE_PATH_BatchNum%">> %TR_FTP_BATCH_FILE... (1 Reply)
Discussion started by: Codesearcher
1 Replies

5. Shell Programming and Scripting

Call other script having different Permissions

Oops, infact i caught my mistake.... (1 Reply)
Discussion started by: suhail.sadaqat
1 Replies

6. Shell Programming and Scripting

How to check file permissions from a script.

hello, I have to write a script to run the other script inside it.So iam planning to write like this? first check the perimissions of the file. Alogorthim ---------- if(!filepermissions == execute) then echo" Permissions denined" else execute the script. file name is : load_mf.sh... (1 Reply)
Discussion started by: rajkumar_g
1 Replies

7. Shell Programming and Scripting

Script Permissions

I have a script were I issue the following command: perl -p -i -e "s/$v31a/$db2/" $dbn31 My script fails with permission error. However, at the command line I can edit the directory in question. I am using uname 002 in my script. So, why can i update manually but not in a script? (10 Replies)
Discussion started by: Harleyrci
10 Replies

8. 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

9. 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

10. UNIX for Dummies Questions & Answers

Script for mkdir with permissions

Hello, I'm pretty new to scripting and trying to do a simple (well, I thought so) administrator task. I'm using bash. I want to create 10 directories under the one directory and apply permissions at the same time. I've worked out the make directories part: mkdir /userdata/folder{1..50}... (7 Replies)
Discussion started by: jimothy007
7 Replies
getfacl(1)							   User Commands							getfacl(1)

NAME
getfacl - display discretionary file information SYNOPSIS
getfacl [-ad] file... DESCRIPTION
For each argument that is a regular file, special file, or named pipe, the getfacl utility displays the owner, the group, and the Access Control List (ACL). For each directory argument, getfacl displays the owner, the group, and the ACL and/or the default ACL. Only directo- ries contain default ACLs. The getfacl utility may be executed on a file system that does not support ACLs. It reports the ACL based on the base permission bits. With no options specified, getfacl displays the filename, the file owner, the file group owner, and both the ACL and the default ACL, if it exists. OPTIONS
The following options are supported: -a Displays the filename, the file owner, the file group owner, and the ACL of the file. -d Displays the filename, the file owner, the file group owner, and the default ACL of the file, if it exists. OPERANDS
The following operands are supported: file The path name of a regular file, special file, or named pipe. OUTPUT
The format for ACL output is as follows: # file: filename # owner: uid # group: gid user::perm user:uid:perm group::perm group:gid:perm mask:perm other:perm default:user::perm default:user:uid:perm default:group::perm default:group:gid:perm default:mask:perm default:other:perm When multiple files are specified on the command line, a blank line separates the ACLs for each file. The ACL entries are displayed in the order in which they are evaluated when an access check is performed. The default ACL entries that may exist on a directory have no effect on access checks. The first three lines display the filename, the file owner, and the file group owner. Notice that when only the -d option is specified and the file has no default ACL, only these three lines are displayed. The user entry without a user ID indicates the permissions that are granted to the file owner. One or more additional user entries indi- cate the permissions that are granted to the specified users. The group entry without a group ID indicates the permissions that are granted to the file group owner. One or more additional group entries indicate the permissions that are granted to the specified groups. The mask entry indicates the ACL mask permissions. These are the maximum permissions allowed to any user entries except the file owner, and to any group entries, including the file group owner. These permissions restrict the permissions specified in other entries. The other entry indicates the permissions that are granted to others. The default entries may exist only for directories. These entries indicate the default entries that are added to a file created within the directory. The uid is a login name or a user ID if there is no entry for the uid in the system password file, /etc/passwd. The gid is a group name or a group ID if there is no entry for the gid in the system group file, /etc/group. The perm is a three character string composed of the let- ters representing the separate discretionary access rights: r (read), w (write), x (execute/search), or the place holder character -. The perm is displayed in the following order: rwx. If a permission is not granted by an ACL entry, the place holder character appears. If you use the chmod(1) command to change the file group owner permissions on a file with ACL entries, both the file group owner permis- sions and the ACL mask are changed to the new permissions. Be aware that the new ACL mask permissions may change the effective permissions for additional users and groups who have ACL entries on the file. In order to indicate that the ACL mask restricts an ACL entry, getfacl displays an additional tab character, pound sign (#), and the actual permissions granted, following the entry. EXAMPLES
Example 1: Displaying file information Given file foo, with an ACL six entries long, the command host% getfacl foo would print: # file: foo # owner: shea # group: staff user::rwx user:spy:--- user:mookie:r-- group::r-- mask::rw- other::--- Example 2: Displaying information after chmod command Continue with the above example, after chmod 700 foo was issued: host% getfacl foo would print: # file: foo # owner: shea # group: staff user::rwx user:spy:--- user:mookie:r-- #effective:--- group::--- mask::--- other::--- Example 3: Displaying information when ACL contains default entries Given directory doo, with an ACL containing default entries, the command host% getfacl -d doo would print: # file: doo # owner: shea # group: staff default:user::rwx default:user:spy:--- default:user:mookie:r-- default:group::r-- default:mask::--- default:other::--- FILES
/etc/passwd system password file /etc/group group file ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
chmod(1), ls(1), setfacl(1), acl(2), aclsort(3SEC), group(4), passwd(4), attributes(5) NOTES
The output from getfacl is in the correct format for input to the setfacl -f command. If the output from getfacl is redirected to a file, the file may be used as input to setfacl. In this way, a user may easily assign one file's ACL to another file. SunOS 5.10 5 Nov 1994 getfacl(1)
All times are GMT -4. The time now is 07:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy