base-files: fix check for empty password warning

Now that we know that the password is in /etc/shadow and not in
/etc/passwd, we can properly fix the logic for the empty password check.
Only 'root::' is an empty password, 'root' and 'root:!:' allow no
password login at all.

This fixes the empty password warning still showing after the root password
has been locked using 'passwd -l root' (e.g. to allow public-key auth
only).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
This commit is contained in:
Matthias Schiffer 2016-09-26 15:25:37 +02:00
parent 77f54eae45
commit 6c1542787d
No known key found for this signature in database
GPG key ID: 16EF3F64CB201D9C

View file

@ -30,8 +30,7 @@ alias ll='ls -alF --color=auto'
unset FILE
}
if ( grep -qsE '^root:[!x]?:' /etc/shadow && \
grep -qsE '^root:[!x]?:' /etc/passwd && \
if ( grep -qs '^root::' /etc/shadow && \
[ -z "$FAILSAFE" ] )
then
cat << EOF