Comando de Pilha
Propósito
Verifica a correção de uma definição de usuário.
Sintaxe
usrck { -l [ -b ] | -n | -p | -t | -y } { TODOS | Usuário ... }
Descrição
O comando usrck verifica a correção das definições do usuário nos arquivos de banco de dados do usuário, verificando as definições para ALL os usuários ou para os usuários especificados pelo parâmetro User . Se mais de um usuário for especificado, deve haver um espaço entre os nomes. Você deve selecionar uma sinalização para indicar se o sistema deve tentar fixar atributos errôneos.
O comando primeiro verifica as entradas no arquivo /etc/passwd . Se você indicar que o sistema deve corrigir erros, os nomes de usuários duplicados são informados e desativados. IDs duplicados são relatados apenas, porque não há correção de sistema. Se uma entrada tiver menos de seis campos separados por colon, a entrada é relatada, mas não fixa. O comando usrck next verifica atributos específicos do usuário em outros arquivos.
O comando usrck verifica se cada nome de usuário listado no arquivo /etc/passwd tem uma stanza no /etc/security/user, /etc/security/limits e arquivos /etc/security/passwd . O comando usrck também verifica se cada nome de grupo listado no arquivo /etc/group tem uma stanza no arquivo /etc/security/group . O comando usrck usando a sinalização -y cria estrofes nos arquivos de segurança para o usuário ausente e nomes de grupo.
- Este comando grava suas mensagens em stderr.
- Se o atributo domainlessgroups for configurado, o comando usrck lançará um erro para os usuários do Lightweight Directory Access Protocol (LDAP).
Uma lista de todos os atributos do usuário segue, com notações declarando quais atributos são verificados:
| Item | Descrição |
|---|---|
| account_locked | Sem cheque. O comando usrck define este atributo para contas True e desativa. |
| admgroups | Verifica se os admgrupos estão definidos no banco de dados do usuário e, se você indicar que o sistema deve corrigir erros, o comando remove quaisquer grupos que não estejam no banco de dados. |
| auditclasses | Verifica se as auditclasses são definidas para o usuário no arquivo /etc/security/audit/config . Se você indicar que o sistema deve corrigir erros, o comando excluirá todas as auditoras que não estão definidas no arquivo /etc/security/audit/config . |
| auth1 | Verifica o método de autenticação primária. A menos que o método seja NONE ou SYSTEM, ele deve ser definido no arquivo /etc/security/login.cfg e o atributo do programa deve existir e ser executável pelo usuário root. Se você indicar que o sistema deve corrigir erros, ele desativará a conta do usuário se um erro for encontrado. Nota: O atributo auth1 é obsoletado e não deve ser usado.
|
| auth2 | Verifica o método de autenticação secundária. A menos que o método seja NONE ou SYSTEM, ele deve ser definido no arquivo /etc/security/login.cfg e o atributo do programa deve existir e ser executável pelo usuário root. Não há correção de sistema. Nota: O atributo auth2 é obsoletado e não deve ser usado.
|
| core | Garante que os valores são sensatos. Se não, o comando reconfigura os valores para 200 blocos, o valor mínimo. |
| core_hard | Garante que os valores são sensatos. Se não, o comando reconfigura os valores para 200 blocos, o valor mínimo. |
| cpu | Garante que os valores são sensatos. Se não, o comando redefine os valores para 120 seconds, o valor mínimo. |
| cpu_hard | Garante que os valores são sensatos. Se não, o comando redefine os valores para 120 seconds, o valor mínimo. |
| data | Garante que os valores são sensatos. Se não, o comando reconfigura os valores para 1272 blocos (636K), o valor mínimo. |
| data_hard | Garante que os valores são sensatos. Se não, o comando reconfigura os valores para 1272 blocos (636K ), o valor mínimo. |
| dictionlist | Verifica a lista de arquivos de dicionário. Se você indicar que o sistema deve corrigir erros, todos os arquivos de dicionário que não existem são excluídos do banco de dados do usuário. |
| expires | Sem cheque. |
| fsize | Garante que os valores são sensatos. Se não, o comando reconfigura os valores para 200 blocos, o valor mínimo. |
| fsize_hard | Garante que os valores são sensatos. Se não, o comando reconfigura os valores para 200 blocos, o valor mínimo. |
| gecos | Sem cheque. |
| histexpire | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. |
| histsize | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. |
| home | Verifica a existência e acessibilidade do diretório home por modo de leitura e modo de pesquisa. Se você indicar que o sistema deve corrigir erros, ele desativará a conta do usuário se um erro for encontrado. |
| id | Verifica a exclusividade do ID do usuário. Se você indicar que o sistema deve corrigir erros, o comando excluirá qualquer entrada inválida no arquivo /etc/passwd . |
| login | Sem cheque. |
| loginretries | Verifica se o usuário tentou logins malsucedidos mais do que a quantidade permitida. Se sim, o sistema desabilita a conta de usuário. |
| logintimes | Garante que a sequência de especificadores de tempo é válida. Se você indicar que o sistema deve corrigir erros, o sistema desabilita a conta do usuário se um erro for encontrado. |
| Item | Descrição |
|---|---|
| maxage | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. |
| maxexpired | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. |
| maxrepeats | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. |
| minage | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. O sistema também indica se o atributo minage é maior do que o atributo maxage . |
| minalpha | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. |
| mindiff | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. |
| minlen | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. |
| minother | Garante que os valores são sensatos. Se você indicar que o sistema deve corrigir erros, valores que são muito grandes são configurados para o maior valor possível e valores que são pequenos demais são configurados para o menor valor possível. O sistema também indica se o atributo minage mais o atributo maxage é maior do que o tamanho máximo de senha. |
| nome | Verifica a exclusividade e a composição do nome de usuário. O nome deve ser uma sequência exclusiva de oito bytes ou menos. Não pode começar com um + (sinal de mais), a: (cólon), a-(sinal de menos), ou a ~ (inclinação). Os nomes iniciados com um + (sinal de mais) ou com um-(sinal de menos) são assumidos como nomes no domínio NIS (Network Information Service), e nenhum processamento adicional é realizado. Ele não pode conter um cólon (:) na string e não pode ser as palavras-chave ALL ou default . Se você indicar que o sistema deve corrigir erros, o comando desabilita a conta do usuário se um erro for encontrado e deleite qualquer entrada inválida no arquivo /etc/passwd . O comando usrck verifica se, para cada nome de usuário listado no arquivo /etc/passwd , há uma estrofe no /etc/security/user, /etc/security/limits, e arquivos /etc/security/passwd . O comando adiciona estrofes para cada um identificado como desaparecido. O comando usrck adicionalmente verifica se cada nome de grupo listado no arquivo /etc/group tem uma stanza no arquivo /etc/security/group . |
| nofiles | Garante que o valor é sensato. Se não, redefine o valor para 200, o valor mínimo. |
| nofiles_hard | Garante que o valor é sensato. Se não, redefine o valor para 200, o valor mínimo. |
| pgrp | Verifica a existência do grupo primário no banco de dados do usuário. Se você indicar que o sistema deve corrigir erros, ele desativará a conta do usuário se um erro for encontrado. |
| pwdchecks | Verifica a lista de métodos de restrição de senha externa. Se você indicar que o sistema deve corrigir erros, todos os métodos que não existem são excluídos do banco de dados do usuário. |
| pwdwarntime | Garante que o valor é sensato. Se não, o sistema reconfigura o valor para a diferença entre os valores maxage e minage . |
| rlogin | Sem cheque. |
| rss | Verifica-se para garantir que os valores sejam sensatos. Se não, o comando reconfigura os valores para 128 blocos (64KB), o valor mínimo. O valor não é configurado pelo sistema. |
| rss_hard | Verifica-se para garantir que os valores sejam sensatos. Se não, o comando reconfigura os valores para 128 blocos (64KB), o valor mínimo. O valor não é configurado pelo sistema. |
| shell | Verifica a existência e a acessibilidade do shell por modo de execução. Se você indicar que o sistema deve corrigir erros, ele desativará a conta do usuário se um erro for encontrado. |
| pilha | Verifica-se para garantir que os valores sejam sensatos. Se não, o comando reconfigura os valores para 128 blocos (64KB), o valor mínimo. |
| stack_hard | Verifica-se para garantir que os valores sejam sensatos. Se não, o comando reconfigura os valores para 128 blocos (64KB), o valor mínimo. |
| su | Sem cheque. |
| sugroups | Verifica a existência dos sugrupos nos arquivos de banco de dados do usuário. Se você indicar que o sistema deve corrigir erros, ele excluirá todos os grupos que não estão no banco de dados. |
| sysenv | Sem cheque. |
| tpath | Verifica para garantir que o atributo shell esteja identificado como um processo confiável se tpath=always. Se você indicar que o sistema deve corrigir erros, ele desativará a conta do usuário se um erro for encontrado. |
| ttys | Verifica a existência dos ttys nos arquivos de banco de dados do usuário. Se você indicar que o sistema deve corrigir erros, ele excluirá todos os ttys que não existem a partir do banco de dados do usuário. |
| usrenv | Sem cheque. |
Se a correção envolver a desativação de uma conta de usuário, use o comando chuser para redefinir o valor do atributo account_locked para False. Você pode usar a System Management Interface Tool (SMIT) para executar o comando chuser inserindo:
smit chuserO usuário root ou um membro do grupo de segurança pode ativar uma conta de usuário novamente, removendo o atributo account_locked ou configurando o atributo account_locked para False. A conta do usuário root não é desativada pelo comando usrck .
Geralmente, o comando sysck chama o comando usrck como parte da verificação de uma instalação confiável-system. Se o comando usrck encontrar algum erro no banco de dados do usuário, o utilizador root ou um membro do grupo de segurança deverá executar ambos o comando grpck e o comando pwdck .
O comando usrck verifica se os arquivos de segurança de gerenciamento de banco de dados (/etc/passwd.nm.idx, /etc/passwd.id.idx, /etc/security/passwd.idxe /etc/security/lastlog.idx) estão atualizados ou mais recentes do que os arquivos de segurança do sistema correspondentes. Observe que é aceitável que /etc/security/lastlog.idx não seja mais novo que /etc/security/lastlog. Se os arquivos de segurança do gerenciamento de banco de dados estiverem fora de data, aparecerá uma mensagem de aviso indicando que o usuário root deve executar o comando mkpasswd .
O comando usrck verifica se o usuário especificado pode fazer login. Se o usuário não puder fazer login por causa de muitas tentativas de login sem sucesso ou porque a senha está expirada, o comando usrck emite uma mensagem de aviso indicando por que o usuário não pode efetuar login. Se você indicar que o sistema deve corrigir erros, o sistema desabilita a conta do usuário se o usuário não puder fazer login pelos motivos acima.
| Critério | Descrição | Causa |
|---|---|---|
| 1 | A conta do usuário está bloqueada. | O atributo account_locked do usuário é configurado como true. |
| 2 | A conta do usuário está expirada. | O atributo expires do usuário é configurado para um valor (tempo de expiração) que está expirado. |
| 3 | O usuário tem muitas tentativas de login frustradas consecutivas. | O valor unsuccessful_login_count do usuário é maior do que o valor de loginretries do usuário. |
| 4 | O usuário não tem senha. | O campo senha do usuário é '*' em /etc/password ou /etc/security/password. |
| 5 | O usuário não está autorizado a fazer login para esta data / horário. | A data / hora atual não está dentro do tempo permitido como definido pelo atributo logintimes do usuário. |
| 6 | O arquivo /etc/nologin existe. | O arquivo /etc/nologin evita que um usuário não root efetue o login. |
| 7 | A senha do usuário é expirada e apenas o administrador do sistema pode alterá-lo. | A senha do usuário está expirada e a sinalização de senha do ADMIN é definida. |
| 8 | Usuário é negado login para hospedar. | Os atributos hostallowedlogin e hostsdeniedlogin do usuário não permitem o acesso ao host atual. |
| 9 | Usuário é negado acesso por aplicativos. | Os atributos login, rlogine su são configurados como false e o atributo rcmds é configurado para negar. Se pelo menos um mas nem todos esses valores de atributo negam a autorização, o sistema é considerado parcialmente acessível pelo usuário. |
| 10 | Usuário é negado login no terminal. | O atributo ttys do usuário não permite o acesso ao terminal atual. O sistema é considerado parcialmente acessível para o usuário. |
Se a sinalização -b também for especificada, a saída consiste em dois campos, o nome de usuário e uma máscara de bits de 16 dígitos, separados por uma guia. Cada dígito na máscara de bits corresponde a um critério na tabela de critérios de acessibilidade do Usuário acima, com critérios 1 representados pelo dígito mais à direita. Se o local de bit para um critério for definido para 1, a verificação para esse critério falhou para o usuário. Digitos extras na saída são reservados para uso futuro.
# usrck -l testusr1 testusr2
3001-689 The system is inaccessible to testusr1, due to the following:
User account is locked
User denied login to terminal.
3001-689 The system is inaccessible to testusr2, due to the following:
User account is expired.
User has too many consecutive failed login attempts.
User denied login to host.Sinalizações
| Item | Descrição |
|---|---|
| -b | Relata usuários que não são capazes de acessar o sistema e os motivos, com as razões exibidas em um formato de máscara de bits. A sinalização -l deve ser especificada se a sinalização -b for especificada. Nota: A máscara de bit não informa critérios 10 (usuário negou login no terminal), uma vez que este não pode ser considerado um cenário completo ao determinar se um sistema é inacessível a um usuário. Da mesma forma, a máscara de bit não informa critérios 9 (Usuário negou acesso por aplicativos) se pelo menos um mas nem todos os valores dos atributos negam autenticação; este critério só é informado quando todos os quatro valores de atributo negam autenticação.
|
| -l | Varre todos os usuários ou os usuários especificados pelo parâmetro Usuário para determinar se os usuários podem acessar o sistema. |
| -n | Relata erros mas não os corrige. |
| -P | Corrige erros mas não os informa. |
| -t | Relata erros e pergunta se eles devem ser corrigidos. |
| -y | Corrige erros e relata-os. |
Status de saída
Esse comando retorna os valores de saída a seguir:
| Item | Descrição |
|---|---|
| 0 | Os arquivos de definição do usuário são apropriados. |
| >0 | Ocorreu um erro ou há um erro em um ou mais arquivos de definição de usuário. Os seguintes códigos de erro são retornados:
|
Segurança
Controle de Acesso: Este comando deve conceder acesso (x) a usuário root e membros do grupo de segurança. O comando deve ser setuid para o usuário root e ter o atributo base de computação confiável .
Arquivos acessados:
| Modo | Arquivo |
|---|---|
| t | /etc/passwd |
| t | /etc/security/user |
| rw | /etc/security/group |
| rw | /etc/group |
| rw | /etc/security/lastlog |
| rw | /etc/security/limits |
| rw | /etc/security/audit/config |
| rw | /etc/security/login.cfg |
Eventos de auditoria:
| Evento | Informações |
|---|---|
| USER_Check | usuário, atributo-error, status |
Exemplos
- Para verificar se todos os usuários existem no banco de dados do usuário, e ter algum erro informado (mas não fixo), digite:usrck -n ALL
- Para excluir das definições do usuário aqueles usuários que não estão nos arquivos de banco de dados do usuário, e ter algum erro informado, digite:usrck -y ALL
- Para exibir a lista de usuários que não conseguem acessar o sistema, digite:usrck -l ALL
- Para exibir a lista de usuários que são incapazes de acessar o sistema, em um formato de máscara de bits, digite:
Arquivos
| Item | Descrição |
|---|---|
| /usr/bin/usrck | Especifica o caminho do comando usrck . |
| etc/passwd | Contém atributos básicos do usuário. |
| /etc/security/user | Contém os atributos estendidos dos usuários. |
| /etc/group | Contém atributos básicos do grupo. |
| /etc/security/group | Contém os atributos estendidos de grupos. |
| /etc/security/lastlog | Contém os últimos atributos de login para usuários. |
| /etc/security/limits | Contém os limites de recursos do processo dos usuários. |
| /etc/security/audit/config | Contém informações de configuração do sistema de auditoria. |
| /etc/security/login.cfg | Contém informações de configuração. |