Por que contas de serviço em sistemas Linux e Unix? [duplicado]

4

Tenho uma dúvida sobre as contas de serviço não-usuário do Linux e do Unix. Sabemos que existem contas de usuários no Linux, quais são as contas de serviço (não-usuário), como daemon, news, bin, etc?

$cat /etc/passwd | more 

revela todas as contas de usuário e não usuário.

Por que bin recebeu a conta de serviço? Isso é por design ou serve a um propósito especial?

Última pergunta

Isso é verdade no ambiente de sistema operacional da Microsoft (Server 2003 ou 2008)?

    
por Ali 29.04.2014 / 17:13

2 respostas

1

Espero que sua distro doca para que servem seus usuários e grupos padrão. Por exemplo, o Debian envia /usr/share/doc/base-passwd/users-and-groups.* , o que explica os que estão no Debian. Uma pesquisa rápida para inurl: "doc / base-passwd" alguns lugares com uma cópia online (intencional ou não); aqui está um .

Basicamente, eles não sabem por que há bin usuário, a LSB diz incluir um por motivos herdados.

Esses usuários geralmente são "bloqueados", portanto, não podem fazer login. Embora o root possa alternar para um deles usando su (ou as chamadas de sistema equivalentes), que é como os daemons são executados como eles.

Você pode procurar por arquivos pertencentes a um usuário com find / -user USER_NAME

Existem basicamente alguns usos para os usuários e grupos internos:

  • Permitir o acesso a determinados arquivos especiais (por exemplo, arquivos / dev para impressoras conectadas pertencentes ao grupo lp ). Então daemons (como o CUPS) podem ser membros desse grupo para obter acesso. Isso também pode ser direcionado aos usuários. Por exemplo, no Debian, adicionar um usuário ao grupo adm permite que ele visualize arquivos de log do sistema.
  • Isolamento. Dois programas em execução como o mesmo usuário podem interagir uns com os outros, por exemplo, para enviar sinais uns aos outros e, dependendo de algumas configurações do kernel, ptrace ( ptrace é como o depurador funciona, e basicamente permite que você controle completo sobre o processo de destino). Exemplos incluem gdm , syslog , etc.
  • Controle de acesso. Por exemplo, no Debian, há um grupo lpadmin usado pelo CUPS. Se você adicionar um usuário a esse grupo, ele poderá administrar o CUPS por meio da interface da Web.

Os dois primeiros são provavelmente os mais comuns.

PS: em vez de cat /etc/passwd / cat /etc/group , provavelmente você deseja usar getent passwd e getent groups . Esses funcionarão em sistemas configurados com repositórios de senha / grupo alternativos, como o LDAP.

    
por 29.04.2014 / 19:01
0

Isso varia de distro a distro, mas, se você olhar de perto, verá que as contas de "serviço" tendem a corresponder a processos específicos. No meu servidor Arch Linux, eu tenho um ID de usuário "ntp" que o daemon NTP executa como um ID de usuário "http" que o servidor Apache executa como um usuário "postgres" para os processos do banco de dados Postgresql. p>

Isso equivale a uma aplicação do Princípio do Menor Privilégio . O usuário que executa um processo deve ter apenas as permissões mínimas necessárias para executar sua tarefa. Por exemplo: o processo ntpd não deve ser capaz de ler informações confidenciais sobre os bancos de dados do Postgres, e os processos do Postgres não devem ser capazes de reescrever os arquivos de configuração do Apache. Isso ajuda a limitar os problemas de erros e de compromissos deliberados (exploits).

    
por 29.04.2014 / 18:12