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
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
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
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
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
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
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
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
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
LEARN ABOUT DEBIAN
merge_fonts
merge_fonts(3alleg4) Allegro manual merge_fonts(3alleg4)
NAME
merge_fonts - Merges two fonts into one font. Allegro game programming library.
SYNOPSIS
#include <allegro.h>
FONT *merge_fonts(FONT *f1, FONT *f2)
DESCRIPTION
This function merges the character ranges from two fonts and returns a new font containing all characters in the old fonts. In general, you
cannot merge fonts of different types (eg, TrueType fonts and bitmapped fonts), but as a special case, this function can promote a mono-
chrome bitmapped font to a color font and merge those. Example:
FONT *myfont;
FONT *myfancy_font;
FONT *lower_range;
FONT *upper_range;
FONT *capitals;
FONT *combined_font;
FONT *tempfont;
...
/* Create a font that contains the capitals from */
/* the fancy font but other characters from myfont */
lower_range = extract_font_range(myfont, -1, 'A'-1);
upper_range = extract_font_range(myfont, 'Z'+1, -1);
capitals = extract_font_range(myfancy_font, 'A', 'Z');
tempfont = merge_fonts(lower_range, capitals);
combined_font = merge_fonts(tempfont, upper_range);
/* Clean up temporary fonts */
destroy_font(lower_range);
destroy_font(upper_range);
destroy_font(capitals);
destroy_font(tempfont);
RETURN VALUE
Returns a pointer to the new font or NULL on error. Remember that you are responsible for destroying the font when you are finished with it
to avoid memory leaks.
SEE ALSO
extract_font_range(3alleg4), is_trans_font(3alleg4), is_color_font(3alleg4), is_mono_font(3alleg4), exfont(3alleg4)
Allegro version 4.4.2 merge_fonts(3alleg4)