Browse Source

Change some "test -f" to "test -s"

Don't bitch about star'd out logins unless they have a .rhosts/.shosts/.klogin
file (ie: something that would let them in via rsh/ssh).
OPENBSD_2_1
millert 28 years ago
parent
commit
27bb79055b
1 changed files with 6 additions and 6 deletions
  1. +6
    -6
      src/etc/security

+ 6
- 6
src/etc/security View File

@ -1,6 +1,6 @@
#!/bin/sh -
#
# $OpenBSD: security,v 1.14 1996/12/06 17:17:13 millert Exp $
# $OpenBSD: security,v 1.15 1996/12/06 17:51:49 millert Exp $
# from: @(#)security 8.1 (Berkeley) 6/9/93
#
@ -33,7 +33,7 @@ awk -F: '{
}
if (NF != 10)
printf("Line %d has the wrong number of fields.\n", NR);
if ($1 ~ /^[+-].*$/)
if ($1 ~ /^[+-]/)
next;
if ($1 == "")
printf("Line %d has an empty login field.\n", NR);
@ -43,7 +43,7 @@ awk -F: '{
printf("Login %s has more than 8 characters.\n", $1);
if ($2 == "")
printf("Login %s has no password.\n", $1);
if (length($2) != 13 && ($10 ~ /.*sh$/ || $10 == ""))
if ((length($2) != 13 && ($10 ~ /.*sh$/ || $10 == "")) && system("for i in .rhosts .shosts .klogin ; do test -s "$9"/$i -a ! -O "$9"/$i && exit 1 ; done ; exit 0") != 0)
printf("Login %s is off but still has a valid shell.\n", $1);
if ($3 == 0 && $1 != "root")
printf("Login %s has a user id of 0.\n", $1);
@ -132,7 +132,7 @@ rhome=/root
umaskset=no
list="/etc/csh.cshrc /etc/csh.login ${rhome}/.cshrc ${rhome}/.login"
for i in $list ; do
if [ -f $i ] ; then
if [ -s $i ] ; then
if egrep umask $i > /dev/null ; then
umaskset=yes
fi
@ -174,7 +174,7 @@ rhome=/root
umaskset=no
list="${rhome}/.profile"
for i in $list; do
if [ -f $i ] ; then
if [ -s $i ] ; then
if egrep umask $i > /dev/null ; then
umaskset=yes
fi
@ -252,7 +252,7 @@ awk -F: '$1 != "root" && $1 !~ /^[+-]/ && \
while read uid homedir; do
for j in .rhosts .shosts; do
# Root owned .rhosts/.shosts files are ok.
if [ -f ${homedir}/$j -a ! -O ${homedir}/$j ] ; then
if [ -s ${homedir}/$j -a ! -O ${homedir}/$j ] ; then
rhost=`ls -ldgT ${homedir}/$j`
printf "$uid: $rhost\n"
fi


Loading…
Cancel
Save