Data de criação da conta local

8

Para fins de conformidade, há a necessidade de buscar informações sobre a data de criação de contas locais (de usuário e não usuário) em máquinas UNIX.

Existe alguma maneira (mesmo que não seja o método mais confiável ou preciso) para coletar esse tipo de informação?

Por exemplo, como alternativa, fui pesquisar a data de criação do diretório home (para contas de usuário), mas descobri que, para sistemas compatíveis com POSIX, os registros de data e hora para criação de arquivos não estão disponíveis.

    
por antiauthor 30.06.2014 / 15:45

4 respostas

3

Se for criado e não tocado desde a criação do usuário, você poderá usar o arquivo .bash_logout para determinar a data. Como root run:

ls -l /home/<username>/.bash_logout

OU, Se o usuário tiver um diretório base, você poderá verificar a data da última modificação do diretório:

ls -ld /home/username/

para obter apenas a data em que você pode usar awk :

ls -ld /home/username/ | awk '{ print $6,$7,$8 }'

fonte

    
por 30.06.2014 / 16:03
2

A criação da conta pode ser registrada. No Linux (se estiver usando o conjunto de utilitários de sombra comum), useradd cria uma entrada de log sob o recurso auth.info . Esse log geralmente está localizado em /var/log/secure ou /var/log/auth.log (depende da distribuição).

Você pode verificar seus backups de /etc/passwd e ver qual é o backup mais jovem que não tem essa conta. Eu uso e recomendo etckeeper para acompanhar as alterações em /etc , então git annotate /etc/passwd me daria a resposta. (Na verdade, git annotate me diria a última vez que a entrada de um usuário foi alterada; um pouco mais de escavação cuja automação está fora do escopo desta resposta me dirá quando a entrada foi adicionada.)

Se você não tiver registros de auditoria, backups e histórico de revisões, precisará recorrer à heurística. Uma boa pista é o arquivo cujo tempo de mudança de inode (ctime) é o mais antigo. Essa heurística pode ser usada nos dois sentidos: se um diretório for movido para a página inicial do usuário, ele poderá conter arquivos com um ctime antigo (mas, para serem mais antigos que o usuário, seu fluxo não deve ser o do usuário como uma mudança) de uid envolve a atualização do ctime, para que você possa ignorar os arquivos que não são de propriedade do usuário); Por outro lado, alguns eventos podem alterar o horário de um arquivo (por exemplo, se todo o sistema foi restaurado de um backup). Você pode iniciar a partir do diretório base do usuário ( ls -Alctr ~bob | sed -n 2p), que pode conter arquivos de /etc/skel que o usuário nunca modificou ( .bash_logout é comum) e ver se há arquivos mais antigos com find ~bob ! -cnewer ~bob/.bash_logout -user bob . Com zsh, execute ls -ld ~bob/**/*(Doc[1]u:bob:) .

    
por 01.07.2014 / 01:56
1

Para usuários locais, você pode olhar para o diretório birth do seu diretório home para os sistemas e sistemas de arquivos que o registram (Linux, a maioria dos BSDs, macOS pelo menos). Como fazer isso varia de acordo com o sistema .

Para usuários em diretórios LDAP, você pode examinar os atributos createTimestamp (ou possivelmente whenCreated ) da entrada LDAP correspondente:

ldapsearch -LLL -x -H ldaps://ldap.example.com -s sub \
  -b dc=example,dc=com 'uid=username' createTimestamp whenCreated
    
por 02.07.2018 / 11:30
-2
$ chage -l fred

Verifica a data de alteração da senha.

    
por 02.07.2018 / 07:59