Skip to main content

Como usar o comando Linux - Comando Unix: login

Aprenda Linux - Comandos básicos do Terminal para Ubuntu (Pode 2024)

Aprenda Linux - Comandos básicos do Terminal para Ubuntu (Pode 2024)
Anonim

O login é usado ao entrar em um sistema. Ele também pode ser usado para alternar de um usuário para outro a qualquer momento (a maioria dos shells modernos tem suporte para esse recurso incorporado neles, no entanto).

Se um argumento não for dado,entrar solicita o nome de usuário.

Se o usuário não for root, e se / etc / nologin existir, o conteúdo deste arquivo será impresso na tela e o login será finalizado. Isso é normalmente usado para impedir logins quando o sistema está sendo desativado.

Se restrições de acesso especiais forem especificadas para o usuário em / etc / usertty, elas deverão ser atendidas, ou a tentativa de login será negada e uma mensagem syslog será gerada. Consulte a seção "Restrições especiais de acesso".

Se o usuário é root, então o login deve estar ocorrendo em um tty listado em / etc / securetty. As falhas serão registradas com o recurso syslog.

Depois que essas condições forem verificadas, a senha será solicitada e verificada (se for necessária uma senha para esse nome de usuário). Dez tentativas são permitidas antesentrar morre, mas depois dos três primeiros, a resposta começa a ficar muito lenta. Falhas de login são relatadas através do recurso de syslog. Esse recurso também é usado para relatar logins de raiz bem-sucedidos.

Se o arquivo .hushlogin existir, será realizado um login "silencioso" (isso desabilita a verificação do correio e a impressão do último horário de login e da mensagem do dia). Caso contrário, se o / var / log / lastlog existir, o último horário de login será impresso (e o login atual será registrado).

Coisas administrativas aleatórias, como definir o UID e o GID do tty, são executadas. A variável de ambiente TERM é preservada se existir (outras variáveis ​​de ambiente são preservadas se o-opção é usado). Em seguida, as variáveis ​​de ambiente HOME, PATH, SHELL, TERM, MAIL e LOGNAME são configuradas. O PATH é padronizado como / usr / local / bin: / bin: / usr / bin: . para usuários normais, e para / sbin: / bin: / usr / sbin: / usr / bin para root. Por último, se este não for um login "silencioso", a mensagem do dia será impressa e o arquivo com o nome do usuário em / var / spool / mail será verificado e uma mensagem impressa se tiver comprimento diferente de zero.

O shell do usuário é então iniciado. Se nenhum shell for especificado para o usuário em / etc / passwd, então / bin / sh é usado. Se não houver diretório especificado em / etc / passwd , então / é usado (o diretório inicial é verificado para .hushlogin arquivo descrito acima).

Opções

  • -p: Usado por getty (8) para contarentrar não destruir o meio ambiente
  • -f: Usado para pular uma segunda autenticação de login. Isso especificamente não funciona para o root e não parece funcionar bem no Linux.
  • -h: Usado por outros servidores (por exemplo, telnetd (8) ) para passar o nome do host remoto paraentrar para que possa ser colocado em utmp e wtmp. Apenas o superusuário pode usar essa opção.

Restrições Especiais de Acesso

O arquivo / etc / securetty lista os nomes dos ttys onde o root tem permissão para efetuar login. Um nome de um dispositivo tty sem o prefixo / dev / deve ser especificado em cada linha. Se o arquivo não existir, o root poderá efetuar login em qualquer tty.

Na maioria dos sistemas Linux modernos, o PAM (Pluggable Authentication Modules) é usado. Em sistemas que não usam o PAM, o arquivo / etc / usertty especifica restrições de acesso adicionais para usuários específicos. Se este arquivo não existir, nenhuma restrição de acesso adicional será imposta. O arquivo consiste em uma seqüência de seções. Existem três tipos de seção possíveis: CLASSES, GROUPS e USERS. Uma seção CLASSES define classes de ttys e padrões de nome de host, uma seção GROUPS define ttys e hosts permitidos em uma base por grupo e uma seção USERS define ttys e hosts permitidos por usuário.

Cada linha neste arquivo pode ter no máximo 255 caracteres. Os comentários começam com o caractere # e se estendem até o final da linha.

A seção CLASSES

A seção CLASSES começa com a palavra CLASSES no início de uma linha em todas as letras maiúsculas. Cada linha a seguir até o início de uma nova seção ou o final do arquivo consiste em uma sequência de palavras separadas por tabulações ou espaços. Cada linha define uma classe de ttys e padrões de host.

A palavra no início de uma linha é definida como um nome coletivo para os padrões ttys e host especificados no restante da linha. Esse nome coletivo pode ser usado em qualquer seção GROUPS ou USERS subsequente. Nenhum tal nome de classe deve ocorrer como parte da definição de uma classe para evitar problemas com classes recursivas.

Um exemplo da seção CLASSES:

CLASSESmyclass1 tty1 tty2myclass2 tty3 @ .foo.com

Isso define as classes myclass1 e myclass2 como os lados direitos correspondentes.

A seção GRUPOS

Uma seção GROUPS define ttys e hosts permitidos em uma base por grupo Unix. Se um usuário é um membro de um grupo Unix de acordo com o / etc / passwd e / etc / group e tal grupo é mencionado em uma seção GROUPS em / etc / usertty, então o usuário recebe acesso se o grupo for.

Uma seção GRUPOS começa com a palavra GRUPOS em maiúsculas no início de uma linha e cada linha seguinte é uma sequência de palavras separadas por espaços ou tabulações. A primeira palavra em uma linha é o nome do grupo e o resto das palavras na linha especifica os ttys e hosts onde os membros desse grupo têm permissão de acesso. Essas especificações podem envolver o uso de classes definidas nas seções anteriores de CLASSES.

Uma seção GROUPS de exemplo.

GRUPOSsys tty1 @ .bar.edugaranhão myclass1 tty4

Este exemplo especifica que membros do grupo sys pode efetuar login no tty1 e de hosts no domínio bar.edu. Usuários no grupo viga pode efetuar login de hosts / ttys especificados na classe myclass1 ou de tty4.

A seção USERS

Uma seção USERS começa com a palavra USERS em maiúsculas no início de uma linha, e cada linha seguinte é uma seqüência de palavras separadas por espaços ou tabs. A primeira palavra em uma linha é um nome de usuário e esse usuário pode fazer login no ttys e nos hosts mencionados no restante da linha. Essas especificações podem envolver classes definidas em seções anteriores de CLASSES. Se nenhum cabeçalho de seção for especificado na parte superior do arquivo, a primeira seção será padronizada como seção USERS.

Um exemplo da seção USERS:

COMERCIALzacho tty1 @ 130.225.16.0 / 255.255.255.0azul tty3 myclass2

Isso permite que o usuário zacho faça o login somente em tty1 e de hosts com endereços IP no intervalo 130.225.16.0 - 130.225.16.255 e usuário azul tem permissão para efetuar login a partir de tty3 e o que for especificado na classe myclass2 .

Pode haver uma linha em uma seção USERS começando com um nome de usuário de * . Esta é uma regra padrão e será aplicada a qualquer usuário que não corresponda a outra linha.

Se tanto uma linha USERS quanto uma linha GROUPS corresponderem a um usuário, o usuário poderá acessar a união de todos os ttys / hosts mencionados nestas especificações.

Origens

As especificações de padrão tty e host usadas na especificação de classes, grupos e acesso do usuário são chamadas origens. Uma string de origem pode ter um desses formatos:

  • O nome de um dispositivo tty sem o prefixo / dev /, por exemplo, tty1 ou ttyS0 .
  • A string @localhost, significando que o usuário tem permissão para fazer o telnet / rlogin do host local para o mesmo host. Isso também permite que o usuário, por exemplo, execute o comando: xterm -e / bin / login.
  • Um sufixo de nome de domínio, como @ .some.dom, significando que o usuário pode rlogin / telnet de qualquer host cujo nome de domínio tenha o sufixo .some.dom.
  • Um intervalo de endereços IPv4, escrito @ xxxx / yyyy, em que xxxx é o endereço IP na notação decimal quádrupla usual e yyyy é uma máscara de bits na mesma notação, especificando quais bits no endereço devem ser comparados com o endereço IP do host remoto . Por exemplo, @130.225.16.0/255.255.254.0 significa que o usuário pode rlogin / telnet de qualquer host cujo endereço IP esteja no intervalo 130.225.16.0 - 130.225.17.255 .

Qualquer uma das origens acima pode ser prefixada por uma especificação de tempo de acordo com a sintaxe:

timespec :: = '' ':' * ''dia :: = 'mon' | 'tue' | 'qua' | 'thu' | 'fri' | 'sat' | 'Dom'hora :: = '0' | '1' | … | '23'hourspec :: = | '-' dia-ou-hora :: = |

Por exemplo, a origem seg: tue: qua: qui: sex: 8-17 tty3 significa que o login é permitido de segunda a sexta-feira entre 8 e 17h59 (17h59) em tty3. Isso também mostra que um intervalo de horas a-b inclui todos os momentos entre a: 00 e b: 59. Uma especificação de hora única (como 10) significa o intervalo de tempo entre 10 e 10:59.

Não especificar nenhum prefixo de hora para um tty ou host significa que o login dessa origem é permitido a qualquer momento. Se você der um prefixo de tempo, especifique um conjunto de dias e um ou mais intervalos de horas ou horas. Uma especificação de horário pode não incluir nenhum espaço em branco.

Se nenhuma regra padrão for dada, os usuários que não corresponderem a qualquer linha / etc / usertty poderão fazer login de qualquer lugar, como é o comportamento padrão.

Importante: Use ohomemcomando ( % homem ) para ver como um comando é usado em seu computador particular.