Se você olhar para o useradd. fonte c existe esse bit que mostra o seguinte.
Supondo que a opção de linha de comando --no-log-init foi definida, as funções faillog_reset e lastlog_reset são chamadas:
if ((!lflg) && (getpwuid (user_id) == NULL)) {
faillog_reset (user_id);
lastlog_reset (user_id);
Quando lastlog_reset é chamado, esse bit modificará o arquivo lastlog :
fd = open (LASTLOG_FILE, O_RDWR);
if ( (-1 == fd)
|| (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
|| (write (fd, &ll, sizeof (ll)) != (ssize_t) sizeof (ll))
|| (fsync (fd) != 0)
|| (close (fd) != 0)) {
O texto acima mostra o arquivo lastlog sendo aberto para leitura & write ( O_RDWR ) seguido por uma instrução if que garante que o arquivo foi aberto com sucesso seguido por um seek dentro do arquivo em um local e write das informações do novo usuário no arquivo. Depois o arquivo é fechado.
Com base nisso, eu suponho que essa opção controla se o UID de um usuário é adicionado ao arquivo lastlog "database" e nada mais.