Hi, On Thu, Mar 03, 2005 at 02:23:04PM +0100, Christoph Martin wrote: > >/usr/lib/tiger/systems/Linux/2/check_passwdspec: [: too many arguments > >/usr/lib/tiger/systems/Linux/2/check_passwdspec: [: too many arguments > >/usr/lib/tiger/systems/Linux/2/check_passwdspec: [: too many arguments > >/usr/lib/tiger/systems/Linux/2/check_passwdspec: [: too many arguments
They are caused by a password set to ! (this is the case for postfix) in systems/Linux/2/check_passwdspec, line 87 [ "$Tiger_Check_PASSWD_SHADOW" = 'Y' -a -s /etc/passwd -a "$pwd" != "x" ] I don't know how this could be fixed. Here are some tests performed: I tried: # [ "!" != "Y" ] && echo true || echo false bash: !: event not found And, unusually, it is here preferable not to quote the argument: # [ ! != "Y" ] && echo true || echo false true # a=! (note: a="!" won't work) # [ "$a" != ! ] && echo true || echo false false # [ "$a" = ! ] && echo true || echo false true # [ "$a" = "a" ] && echo true || echo false false # [ "$a" != "a" ] && echo true || echo false true but: # [ "$a" != ! -a "x" = "x" ] && echo true || echo false [: too many arguments false So, it seems to me that we could test if $pwd is equal to !, if we perform this test alone. Changing line 87 to: [ "$Tiger_Check_PASSWD_SHADOW" = 'Y' -a -s /etc/passwd ] && [ "$pwd" != "x" ] && { works (but I don't know why;). > >/bin/sed: -e expression #1, char 27: Unknown option to 's' This one is produced by systems/Linux/2/deb_nopackfiles, line 145: sed -e '{ s/ /\\\\\|/g; s/\//\\\\\//g }' The { and } are not needed here. They could be dropped, and woody's sed will be happy. hth, -- Nekral -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]