Sponsored Content
Homework and Emergencies Homework & Coursework Questions How to verify all user home directories are writable only by their owner Post 302368738 by methyl on Thursday 5th of November 2009 12:53:57 PM
Old 11-05-2009
Let's not forget the "find" command which can match on partial permissions of a file or directory.
This example is not a solution to the question but illustrates how to search for the bad directories (i.e. those writeable by group or other).
It does not check that the owner of the home directory has write permissions or whether the directory exists.
It uses "listusers" to generate the initial list of users to avoid pointlessly searching system directories.


Code:
# Generate list of non-system users
listusers | awk '{print $1}' | while read USERNAME
do
        # Extract home directory from /etc/passwd
        USERHOME=`grep \^${USERNAME}: /etc/passwd | awk -F: '{print $6}'`
        # Search home for directories writeable by group or other
        find ${USERHOME}/ -type d \( -perm -000020 -o -perm -000002 \) -exec ls-ald {} \;
done

 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Delete old home directories

I have a script that deletes obselete users from /etc/passwd then moves their home directories to another location. After 30 days, I need to delete the home directories that were moved to the new location. I would appreciate any ideas on how to delete the directories after the 30 days? (2 Replies)
Discussion started by: munch
2 Replies

2. Shell Programming and Scripting

Batch delete specific folder from user home directories

Hi! Need your help. How can I delete the cache folder of multiple user home directories via automatically executed shell script on a Mac OS X Server? Example: The userdata are stored on a Xsan Volume like this: /Volumes/Xsan/userdata/mike /Volumes/Xsan/userdata/peter... (2 Replies)
Discussion started by: nipodrom
2 Replies

3. Shell Programming and Scripting

How to verify all user home directories are writable only by their owner

Hi, I'm currently working on my school assignment on how to verify that all user home directories are writable only by their owner on Solaris with VMware. But I'm not sure why my codes take a very long time to display the results. My friend says it's the `su - $i -c "ls -ld" 2> /dev/null | grep... (1 Reply)
Discussion started by: NuuBe
1 Replies

4. Solaris

how to change /export/home/user dir to /home /user in solaris

Hi all i am using solaris 10, i am creating user with useradd -d/home/user -m -s /bin/sh user user is created with in the following path /export/home/user (auto mount) i need the user to be created like this (/home as default home directory ) useradd -d /home/user -m -s /bin/sh... (2 Replies)
Discussion started by: kalyankalyan
2 Replies

5. Solaris

How to unmount user home directories ??

I've allocated /exports for all user directories by making separate directories under /exports..... :rolleyes: now i need to unmount /exports . But i'm unable to do that.. How can i troubleshoot this issue. Thanks in advance:D (2 Replies)
Discussion started by: vamshigvk475
2 Replies

6. Shell Programming and Scripting

World writable home dirs

what is wrong with this script? I get: ./perm.sh: command substitution: line 21: unexpected EOF while looking for matching `"' ./perm.sh: command substitution: line 22: syntax error: unexpected end of file Script: #!/bin/bash for dir in `/bin/cat /etc/passwd | /bin/egrep -v... (4 Replies)
Discussion started by: greenja9
4 Replies

7. Solaris

Giving read write permission to user for specific directories and sub directories.

I have searched this quite a long time but couldn't find the right method for me to use. I need to assign read write permission to the user for specific directories and it's sub directories and files. I do not want to use ACL. This is for Solaris. Please help. (1 Reply)
Discussion started by: blinkingdan
1 Replies

8. UNIX for Beginners Questions & Answers

[Tip] Housekeeping Tasks Made Easy - User Home directories and Leftover Files

We have regularly questions about how to create users and user accounts. But regularly user accounts need to be deleted too. It is quite easy to delete the user account itself but usually the HOME directory of the user remains. It is good style to remove these directories but simply deleting... (3 Replies)
Discussion started by: bakunin
3 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 06:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy