Como criar um usuário e conceder permissão de leitura ao arquivo/etc/shadow?

Como criar um usuário e conceder permissão de leitura ao arquivo/etc/shadow?

Gostaria de conceder ao usuário do meu servidor web (nginx) acesso de leitura ao arquivo /etc/shadow e gostaria de confirmar as etapas que estou executando para fazer isso. O sistema que estou usando é um CentOS 7.

  1. Primeiro criei um grupo chamado shadow:groupadd shadow
  2. Em seguida, adicionei o usuário do servidor web (nginx) ao grupo shadow:usermod -aG shadow nginx
  3. Então mudei o proprietário para root e mudei o proprietário do grupo de arquivos para o grupo shadow:chown root:shadow /etc/shadow
  4. Então concedi permissões de leitura para todos os usuários do grupo shadow lerem o arquivo /etc/shadow:chmod g+r /etc/shadow

Depois de realizar essas etapas, executei ls -l /etc/shadowe vejo a seguinte saída

----r-----. 1 sombra raiz 1390 30 de agosto 12:51 /etc/shadow

Essas etapas que estou seguindo estão corretas? Informe-me e posso fornecer informações adicionais, se necessário.

Responder1

Alterar o grupo proprietário de um arquivo tão importante pode até quebrar algumas coisas, o que éperigoso.

A maneira segura e adequada de conseguir isso é usar ACLs POSIX:

setfacl -m u:special_user:r /etc/shadow

Outro problema aqui é que você deu esse direito aNginx, um servidor web. O que, suponho, executa algum aplicativo da web. E é uma péssima ideia ter acesso direto /etc/shadowa partir de um aplicativo da web.

Isto pode parecer contraproducente, mas é assim que todos os sistemas sérios fazem essas coisas: incluemserviço de proxy seguro privadoque faz todas as verificações de segurança e apenas o front-end da web pode se comunicar com esse serviço de proxy para ter algum acesso a dados confidenciais ou fazer outras coisas confidenciais. Por exemplo, é assim que o Proxmox VE é construído: existe o pvedaemon que faz coisas perigosas, e o pveproxy (um servidor web) só conversa com o pvedaemon quando precisa fazer tais coisas.

O terceiro problema é que você acessa esse arquivo. O que você pretende fazer? Este arquivo faz parte do pacote PAM. E se alguma autenticação do sistema for modificada para não usar um arquivo shadow ou for movida? Você deve usar chamadas de biblioteca PAM que farão tudo isso para você.

Responder2

Isso se parece com a saída de

chmod g=r /etc/shadow

e não

chmod g+r /etc/shadow

também conhecido como. parece que você acidentalmente usou um sinal de igual em vez do sinal de adição.

Editar: Acabei de verificar meu sistema e as permissões do meu /etc/shadowarquivo são assim:

`----------. 1 root root 1183 20 Aug 11.53 /etc/shadow`

Portanto, parece que suas permissões são esperadas!

informação relacionada