Вы не можете использовать try_first_pass
с cracklib. Это должно проверить то, что пароль является палиндромом или вращением старого пароля по умолчанию.
Кроме того, другие модули (вероятно, pam_unix.so или pam_ldap.so) в стеке должны использовать use_authok
флагу или им разрешат попросить у пользователя пароля, если предыдущий модуль не принял указанный пароль.
Короче говоря, попробуйте:
password required pam_cracklib.so retry=3 minlen=6 password required pam_unix.so use_authok nullok md5
nullok
флаг говорит модулю, что нормально изменять пароль от пустого (обычный метод принуждения изменения пароля в системах UNIX), можно удалить его, если Вы не используете эту функциональность.
I suggest letting the www-data-user use that one init.d-script as sudo without password by adding this to your /etc/sudoers
www-data ALL=(ALL) NOPASSWD: /etc/init.d/theinitscript
And then use sudo /etc/init.d/theinitscript start
instead of the command service.