Заметил, что программа /usr/sbin/nologin в фрибсд занимает 600кб. Всё, что она делает это отправка в syslog сообщения «attempted to login as %s on %s» (имя юзера и имя tty), отправка «This account is currently not available.» в stdout и выход с кодом 1 (неуспех).
Оказалось, такой размер у неё из-за статической линковки, а её необходимость объясняется так:
# It is important that nologin be statically linked for security
# reasons. A dynamic non-setuid binary can be linked against a trojan
# libc by setting LD_LIBRARY_PATH appropriately. Both sshd(8) and
# login(1) make it possible to log in with an unsanitized environment,
# rendering a dynamic nologin binary virtually useless.
Ну, sshd можно настроить чтобы он принимал LD_LIBRARY_PATH от клиента, но это никак не дефолт и если кто-то это сделал то он наверно специально хотел сделать дыру и незачем ему мешать. Или есть какие-то другие соображения?


