Proteger pasta de sudoers

6

Existe uma capacidade de não permitir que sudoers visualizem sua pasta (somente você e root podem acessar a pasta)?

    
por Arthur Halma 12.06.2013 / 15:05

5 respostas

8

Supondo que por "sudoers" você quer dizer pessoas com permissão para executar comandos como root com o prefixo sudo , porque elas são mencionadas no arquivo sudoers por meio de uma linha como bob ALL=(ALL) ALL , então essas pessoas > são root. O que define ser root não é saber a senha da conta root, é ter acesso à conta root por qualquer meio.

Você não pode proteger seus dados do root. Por definição, o usuário root pode fazer tudo. As permissões não ajudam, pois o root pode alterar ou ignorar as permissões. A criptografia não ajuda, pois o root pode subverter o programa fazendo a descriptografia.

Se você não confia em alguém, não dê a ele acesso root em uma máquina onde você armazena seus dados. Se você não confia em alguém que tenha acesso root em uma máquina, não armazene seus dados nela.

Se um usuário precisar de acesso root para algum propósito específico, como administrar confortavelmente um aplicativo, instalar pacotes, etc., forneça seu próprio hardware ou forneça a ele sua própria máquina virtual. Deixe-os ser root na VM, mas não no host.

    
por 13.06.2013 / 02:14
3

A menos que os comandos que um sudoer possa executar estejam restritos no arquivo sudoers config (normalmente /etc/sudoers ), sudoroot , então não há nada que você possa fazer para impedir que um sudoer acesse seu diretório. / p>     

por 12.06.2013 / 15:09
3

Geralmente sudo é usado para obter poderes de root por usuários normais, pelo menos de um comando específico. Então, se o root puder lê-lo, então um usuário usando sudo também pode.

Eu acho que o melhor que você poderia fazer era criptografar a pasta / arquivos de alguma forma para uma senha pessoal.

    
por 12.06.2013 / 15:13
3

Normalmente, sudo access é concedido desse tipo de maneira:

# User privilege specification

root    ALL=(ALL) ALL
user1   ALL=(ALL) ALL

Nesse cenário, o usuário basicamente tem acesso irrestrito para se tornar root e fazer o que quiser. Você pode ser mais criterioso em como você concede acesso a várias tarefas dentro do sudo fazendo as coisas dessa maneira:

user1  ALL=(root) /usr/bin/find, /bin/rm

Aqui estamos limitando os comandos que o user1 pode usar para apenas find e rm . Se você sabe que um usuário precisa apenas de um comando específico, pode conceder-lhe acesso exclusivamente a esse comando.

Ainda mais você pode criar scripts em vez de apenas adicionar comandos. Por exemplo:

user1  ALL=(root) /usr/local/bin/limited_script.sh

Esse script seria o único comando ao qual eles teriam acesso, você poderia, por exemplo, cd /to/some/dir , no script anterior e, em seguida, agrupar qualquer comando para o qual eles precisem ter acesso. Essa pode ser uma maneira de limitar o acesso deles.

Perceba que a abordagem não é uma prova completa, mas que fornece algum nível de proteção.

    
por 12.06.2013 / 20:45
1

Você pode usar as ACLs e, ao definir as entradas apropriadas da ACE, poderá fazer isso. No entanto, é um pouco mais incômodo.

De qualquer forma, se você fizer isso, como um administrador irá ajudá-lo a corrigir um problema com seus arquivos / diretórios? Você confia em seus usuários confiáveis ou não e segue para outro sistema em que confia em seus administradores.

    
por 12.06.2013 / 18:32