Como criar um usuário do ubuntu com direitos sudoer parciais

0

Estou querendo saber se é possível criar um usuário no Ubuntu 11.10 servidor com direitos sudo personalizados.Eu quero dizer com isso um uso que pode iniciar e desligar a caixa, mas quem não pode acessar /var/www por exemplo ou ser capaz de mudar ip da caixa via /etc/network/interfaces e reinicie a rede e só acesse arquivos específicos tanto do sistema quanto personalizados em /etc/init.d/* .

Tais coisas podem ser feitas? obrigado

EDITAR: Esta é a primeira vez que estamos implementando um software na caixa linux. por isso é uma combinação de aplicativo php em execução no apache2 com um servidor de relatórios no tomcat com outros aplicativos agrupados em dois jars. esses jars são usados quando serviços para suas configurações foram adicionados à pasta /etc/init . Então, Idealmente, nós queremos proteger a pasta /var/www/ourapp , /var/lib/tomcat6/webapps/ourreporting se possible.allow o usuário cliente para reiniciar a caixa, mudar o ip reiniciar a rede, iniciar e parar nossos serviços, apache2, tomcat6 ver os logs /var/logs/apache2|tomcat6 e isso deve ser tudo

    
por black sensei 25.07.2012 / 13:32

3 respostas

1

Sim, você pode - mas vale a pena considerar o que você está tentando proteger.

A maioria dos binários idealizados é que fazem apenas uma tarefa e validam seus dados cuidadosamente.

Certamente coisas como alterar / etc / network / interfaces - você não quer que elas chamem um editor como root - você quer que elas gerem um novo arquivo com seu editor padrão e então você quer que o arquivo seja instalado por cima com segurança .

Mas, observe: se eles estão alterando os IPs, eles também precisam ter uma maneira de desativar a interface e fazer o backup novamente.

E então eles podem instalar qualquer coisa que quiserem como um script "up" ou "down" em uma interface e whoopdy-yay, eles têm raiz.

Então basicamente - é complexo, é uma pilha de buracos esperando por uma pessoa criativa o suficiente para explorar. Então eu pergunto novamente - o que você está tentando proteger e isso é algo que você pode resolver em um nível de pessoas ao invés de um nível técnico?

    
por 25.07.2012 / 14:03
1

abra o arquivo / etc / sudoers

# / etc / sudoers

#

# Este arquivo DEVE ser editado com o comando 'visudo' como root.

#

# Veja a página man para detalhes sobre como escrever um arquivo sudoers.

#

Padrões env_reset

# Descomente para permitir que membros do grupo sudo não precisem de uma senha

#% sudo ALL = NOPASSWD: TODOS

# Especificação de alias de host

# Especificação de alias de usuário

# Cmnd especificação de alias

# Especificação de privilégio de usuário

root ALL=(ALL) ALL

# Membros do grupo de administradores podem obter privilégios de root

% admin ALL = (TODOS) TODOS

escreva abaixo da linha dentro do arquivo / etc / sudoers

yourusername ALL=(ALL) ALL

você se tornará sudoer

    
por 25.07.2012 / 14:08
1

Verifique o este artigo para permitir o comando de desligamento para usuários específicos. Você também pode dar essa permissão a um grupo de acordo com este . Sugiro criar um grupo chamado shutdown e colocar todos os usuários com permissão de desligamento nesse grupo.

Contanto que você não eleve esses usuários aos administradores (coloque-os em grupos específicos), eles não devem ter acesso a /var/www .

Atualização: de acordo com Bron Gondwana, minha sugestão seguinte é perigosa porque os usuários podem abrir qualquer coisa com o vi, uma vez que ele é iniciado como root.

AFAIK, você pode criar um alias nos usuários ~/.bashrc (ou em /etc/bash.bashrc para configurações de todo o sistema) como alias viinterfaces="vi /etc/network/interfaces" e conceder ao usuário acesso a viinterfaces , como descrito em um dos artigos acima. Eu atualmente não tenho um Linux na minha mão, então você tem que testar essa sugestão ou esperar por outro superusuário para confirmar ou recusar que isso funcione.

por 25.07.2012 / 13:52