Mailinglist Archive: opensuse-security (320 mails)

< Previous Next >
Re: [suse-security] Seccheck script errors - anything I need to worry about?
  • From: Lars Ellenberg <l.g.e@xxxxxx>
  • Date: Mon, 12 May 2003 15:42:43 +0200
  • Message-id: <0KukzGVOpXutp5pPeYJqtzA=lge@xxxxxx>
On Mon, May 12, 2003 at 08:58:44AM +1000, Luke Loh wrote:

> /usr/lib/secchk/security-daily.sh: line 296: [: too many arguments

> /usr/lib/secchk/security-daily.sh: line 315: [: too many arguments

try this pseudo patch:

> 292 # .rhosts check
> 293 awk -F: '{ print $1 " " $6 }' /etc/passwd |
> 294 while read uid homedir; do
> 295 for j in .rhosts .shosts; do
- 296 if [ -s ${homedir}/$j ] ; then
+ 296 if [ -s "${homedir}/$j" ] ; then

> 305 done
> 306 done > $OUT

> 313 awk -F: '/^[^+-]/ { print $1 " " $6 }' /etc/passwd | \
> 314 while read uid homedir; do
- 315 if [ -d ${homedir}/ ] ; then
+ 315 if [ -d "${homedir}/" ] ; then


> My knowledge of awk is limited so I can't figure out what is wrong
> except that it's related to the ${homedir} variable.

its not awk, but (ba)sh, which croaks.
quoting the variable should do it.

btw, if you have a more recent bash, and suse >= 7.0 has, you could use
[[ ]] instead of the [ ], which does implicit quoting of the arguments.
and you need not use awk ...
IFS=":"; while read uid _ _ _ _ homedir _ ; do
# code here
done < /etc/passwd >$OUT
IFS=$' \t\n'


Lars

< Previous Next >
References