AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 506699
Accepted
Rick
Rick
Asked: 2019-03-17 09:09:32 +0800 CST2019-03-17 09:09:32 +0800 CST 2019-03-17 09:09:32 +0800 CST

O que o programa/comando de login do Unix faz?

  • 772

Estou lendo o APUE e ele continua se referindo ao loginprograma, mas ainda não sei o que ele está fazendo no meu sistema operacional (Ubuntu).

§8.11:

Normalmente, o ID de usuário real é definido pelo login(1)programa quando efetuamos login e nunca muda. Por loginser um processo de superusuário, ele define todos os três IDs de usuário quando chama setuid

ps aux | grep login:

root       840  0.0  0.0  70732  6120 ?        Ss   15:13   0:00 /lib/systemd/systemd-logind
root      1120  0.0  0.0 419680  9468 ?        Sl   15:13   0:00 gdm-session-worker [pam/gdm-autologin]
tianhe    1151  0.0  0.1 445184 20540 ?        SLl  15:13   0:05 /usr/bin/gnome-keyring-daemon --daemonize --login
tianhe   10838  0.0  0.0  21536  1060 pts/0    S+   21:50   0:00 grep --color=auto login

Então, em resumo, que funcionalidade esse loginprograma oferece para o sistema operacional?

Em que circunstâncias é usado ou executado?

Btw, como é logincomparado a ssh?

command login
  • 2 2 respostas
  • 1086 Views

2 respostas

  • Voted
  1. JdeBP
    2019-03-17T16:09:42+08:002019-03-17T16:09:42+08:00

    Não é um comando para você executar interativamente.

    O logincomando normalmente não é inserido na linha de comando.
    -manual login. IBM AIX 7.2

    Costumava ser. Na década de 1980, isso funcionaria, e os usuários do C-shell ainda tinham um logincomando embutido de conveniência que seria execo programa externo login, sobrepondo o processo do shell com esse programa, que era set-UID para o superusuário.

    Mas os sistemas operacionais não funcionam hoje em dia como o BSD dos anos 80. Uma sessão de login (que é o tipo de sessão que está sendo discutida lá, a propósito) passa por muitos alçapões unidirecionais (contextos de segurança do usuário, grupos de controle, marcadores de "contaminação" de UID alterado, AIX setsenve assim por diante) para ela para ser viável iniciar corretamente uma nova sessão de login para um usuário arbitrário de um processo que já está em uma sessão de login do usuário.

    E de qualquer forma, devido ao advento do PAM na década de 1990, o processo de shell que seria sobreposto com o novo loginprograma não é mais o processo mais alto da árvore como era na década de 1980. Agora é filho de um processo de supervisão, que está fazendo a configuração e desmontagem da sessão PAM.

    É por isso que "dæmonization" é uma falácia e é por isso que executar loginde dentro de uma sessão de login existente não é realmente sensato.

    É um programa de sistema.

    loginé invocado pelos serviços de login do terminal , geralmente diretamente, após o serviço ou a infraestrutura de gerenciamento de serviço configurar algumas variáveis ​​de ambiente, abrir o dispositivo terminal e inicializar/enviar a disciplina de linha, defini-lo como o terminal de controle e inicializar o terminal com alguns seqüências de controle.

    • No AT&T Unix System 5 Release 4 em 1987, esses serviços seriam gerenciados por ttymon, parte do Service Access Facility. Você ainda pode vê-los hoje no OpenSolaris e seus derivados, como Illumos e Schillix.
    • Em sistemas operacionais Linux systemd, esses são os serviços (geralmente aliases para serviços). Este é o notável estranho do lado System 5 do universo, ainda usando um programa para invocar quando quase ninguém mais o faz.autovt@somethinggetty@somethinggettylogin
    • Em sistemas operacionais que usam o conjunto de ferramentas nosh para gerenciamento de serviços, esses são os serviços.ttylogin@something
    • No lado BSD do universo, se não estiver usando o gerenciamento de serviços nosh, esses são serviços gerados pelo processo #1 de acordo com a /etc/ttystabela.

    Se você efetuou login em um terminal virtual ou em um terminal real, foi ele loginque solicitou sua senha e, possivelmente, seu nome de usuário também, e então começou a invocar seu shell de login interativo.

    loginnão é usado pelo login SSH. Nem é usado pelo login da GUI . Ambos operam de forma diferente, usando outros programas. loginespera estar conversando com um terminal, com uma Interface Textual do Usuário.

    Ele é usado pelo antigo sistema rlogin de Berkeley, mas você não deveria estar empregando isso hoje em dia. Uma discussão mais aprofundada dos chamados comandos "r-" de Berkeley está muito além do escopo desta resposta. Então, vou apenas dizer que isso é outra coisa que não é mais feita do jeito que era na década de 1980.

    Leitura adicional

    • Jonathan de Boyne Pollard. " Terminais ". Guia de no . Programas.
    • Jonathan de Boyne Pollard (2018). gettygerado inité uma coisa do passado. . Respostas Frequentes.
    • https://unix.stackexchange.com/a/446619/5132
    • 4
  2. Best Answer
    ctrl-alt-delor
    2019-03-17T10:39:20+08:002019-03-17T10:39:20+08:00

    Você provavelmente faz login em uma sessão de janela, neste caso um gerenciador de exibição xdm, gdm, kdm... fará o login. No entanto, existem outras maneiras de fazer login. Por exemplo, em uma rede que podemos usar (como você apontou) ssh. Se fizermos login localmente, mas não em um sistema de janelas, precisaremos de um programa de login diferente. É aqui que entra o login.

    Tente pressionar ctrlaltf1, login e veja quais processos estão sendo executados. O que você fez login.

    • 2

relate perguntas

  • Algum arquivo foi excluído de ser salvo no banco de dados de localização?

  • Em que situação `find` e `locate` são mais bem usados? [fechado]

  • Comando para criar o iniciador (atrás da GUI do Xfce/Thunar)

  • Agrupamento de Comandos

  • Como uso `at` para agendar um script para execução no macOS?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve