
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.
- Primeiro criei um grupo chamado shadow:
groupadd shadow
- Em seguida, adicionei o usuário do servidor web (nginx) ao grupo shadow:
usermod -aG shadow nginx
- 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
- 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/shadow
e 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/shadow
a 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/shadow
arquivo são assim:
`----------. 1 root root 1183 20 Aug 11.53 /etc/shadow`
Portanto, parece que suas permissões são esperadas!