Sponsored Content
Top Forums Shell Programming and Scripting How to verify all user home directories are writable only by their owner Post 302368522 by NuuBe on Thursday 5th of November 2009 03:36:16 AM
Old 11-05-2009
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 ^d | awk '{print $1}'` part that is causing the problem but his not sure what to do either. Can someone please help me? Thanks.

#!/usr/bin/bash
clear
echo " Verifying if user home directories are writable only by their owner"
echo

TEMPFILE=/permgrep.txt
TEMPFILE2=/namegrep.txt
accno=0
h=1
no=1
Ps=0
Fs=0

if [ ! -f ${TEMPFILE} ]
then
touch ${TEMPFILE}
fi

if [ ! -f ${TEMPFILE2} ]
then
touch ${TEMPFILE2}
fi

ACCOUNTS=`cat /etc/passwd | awk -F: '{print $1}'`
array=($ACCOUNTS)

for i in "${array[@]}"
do
let "accno += 1"
PRINTER=`su - $i -c "ls -ld" 2> /dev/null | grep ^d | awk '{print $1}'`
if [ -n "$PRINTER" ]
then
echo $PRINTER >> $TEMPFILE
echo $i >> $TEMPFILE2
fi
done

echo

for line in $(cat /permgrep.txt)
do

READTF2=`head -$h /namegrep.txt | tail -1`

if [ $line == 'drwxr-xr-x' ]
then
echo $no"-"$READTF2": PASS"
let "h += 1"
let "Ps += 1"

else
echo $no"-"$READTF2": FAIL"
let "h += 1"
let "Fs += 1"
fi

let "no += 1"

done

nohodi=`expr $accno - $Ps - $Fs`

echo " Total user accounts: "$accno
echo " Pass: "$Ps
echo " Fail: "$Fs
echo " no home directory : "$nohodi

rm /namegrep.txt
rm /permgrep.txt
 

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. Homework & Coursework Questions

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

1. The problem statement, all variables and given/known data: Need to verify that all user home directories are writable only by their owner on Solaris. The script posted below is workable but it is taking a long time to display the results, and I don't seem to be able to fix it or find any... (6 Replies)
Discussion started by: NuuBe
6 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
mfontset_lookup(3m17n)						 The m17n Library					    mfontset_lookup(3m17n)

NAME
mfontset_lookup - Lookup a fontset. SYNOPSIS
MPlist * mfontset_lookup (MFontset * fontset, MSymbol script, MSymbol language, MSymbol charset) DESCRIPTION
Lookup a fontset. The mfontset_lookup() function lookups fontset and returns a plist that describes the contents of fontset corresponding to the specified script, language, and charset. If script is Mt, keys of the returned plist are script name symbols for which some fonts are specified and values are NULL. If script is a script name symbol, the returned plist is decided by language. o If language is Mt, keys of the plist are language name symbols for which some fonts are specified and values are NULL. A key may be Mt which means some fallback fonts are specified for the script. o If language is a language name symbol, the plist is a FONT-GROUP for the specified script and language. FONT-GROUP is a plist whose keys are FLT (FontLayoutTable) name symbols (Mt if no FLT is associated with the font) and values are pointers to MFont. o If language is Mnil, the plist is fallback FONT-GROUP for the script. If script is Mnil, the returned plist is decided as below. o If charset is Mt, keys of the returned plist are charset name symbols for which some fonts are specified and values are NULL. o If charset is a charset name symbol, the plist is a FONT-GROUP for the charset. o If charset is Mnil, the plist is a fallback FONT-GROUP. RETURN VALUE
It returns a plist describing the contents of a fontset. The plist should be freed by m17n_object_unref(). COPYRIGHT
Copyright (C) 2001 Information-technology Promotion Agency (IPA) Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST) Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>. Version 1.6.2 12 Jan 2011 mfontset_lookup(3m17n)
All times are GMT -4. The time now is 01:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy