Como posso criar um usuário com acesso somente leitura a todos os arquivos? (ou seja, root sem permissões de gravação)


9

Para fazer backup do meu servidor, eu gostaria de acessá-lo remotamente via SSH. Para minimizar todos os riscos, ele deseja usar um usuário que tenha apenas acesso de leitura, mas a todos os arquivos, como root. No entanto, ele não deve ter nenhum direito de gravação.

Alguma idéia de como conseguir isso?


Respostas:


7

Posso sugerir outro método para resolver seu problema que consome menos manutenção.

Você pode criar chaves ssh que têm acesso limitado a programas específicos. Não gosto de conceder acesso irrestrito à raiz, mas às vezes você precisa ativar certos comandos para serem executados via controle remoto. Com as teclas ssh, você pode executar seu programa de backup via comando ssh.

Confira a seção 'AUTHORIZED_KEYS FILE FORMAT' na sua página de manual do sshd (suponho que você esteja usando o OpenSSH).

http://man.openbsd.org/OpenBSD-current/man8/sshd.8


1
Eu gosto da ideia. Simplesmente puxar os arquivos através de rsynctodas as no-*opções descritas no manual deve ser seguro. Especialmente no-pty em combinação com from, é um bom começo para aumentar a segurança. Exemplo:from="the_pulling_hostname_or_IP",no-pty,...
user569825

1

Você poderia conseguir isso com ACLs. Você ainda precisaria de um script em execução como root que altere as permissões de cada arquivo. Veja as páginas de manual para ACL, setfacl e getfacl, se você estiver interessado.


1

Existe uma outra maneira de criar isso sem usar ACLs. Mas você precisa praticar cautela aqui. Primeiro, crie um grupo, por exemplo, chamado roroot (raiz somente leitura). Em seguida, aplique essa identificação de grupo a todos os diretórios. Faça com que as permissões para os bits do grupo sejam r-- ou 400 octal, para criar uma conta de usuário como um usuário comum, por exemplo, rorootusr, com o próximo ID definido como o que estiver no seu sistema, faça com que somente membro de um grupo roroot , não faça com que ele faça parte da roda, do compartimento etc., dependendo do que seus grupos estão na sua instalação. A próxima parte será esquisita. Abra o arquivo / etc / passwd usando o editor vim / nano / emacs / joe / qualquer que seja o seu estilo, e procure o ID que você acabou de criar, ou seja. rorootusr, o arquivo passwd terá esta aparência

raiz: x: 0: 0 :: / raiz: / bin / sh

Lendo da esquerda para a direita separados por dois pontos, você tem nome de usuário, senha (criptografada + sombreada), identificação de usuário, identificação de grupo, comentário, diretório inicial e shell. Do exemplo acima, dado

rorootusr: x: 512: 450: RO do usuário raiz: / home / rorootusr: / bin / bash

É o terceiro campo (512) que você altera para 0. 450 seria o ID do grupo para roroot. Salve a sessão de edição e pronto. Agora o rorootusr terá acesso root, mas é apenas um membro do grupo roroot e tem acesso somente leitura ao sistema.

Espero que ajude, Atenciosamente, Tom.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.