Uma introdução ao comando sudo eo arquivo de configuração

usuários Ubuntu Linux pode estar familiarizado com usando o comando “sudo” no Linux. É um recurso muito útil em Linux que permite que o administrador de uma máquina Linux para conceder privilégios “root” para um determinado usuário ou grupo de usuários. Ele também pode ser configurado de modo a que este privilégio se limita a um ou mais comandos. A equipe do Ubuntu, por exemplo, decidiram bloquear o usuário root de se autenticar por padrão e, em vez permitir aos usuários usar o sudo para executar tarefas administrativas. Então, se você estiver usando o Ubuntu Linux, privilégios sudo foram setup para que você tenha plenos privilégios de “root”. Vamos dar uma olhada em como instalar e configurar privilégios sudo em sua máquina. Antes de prosseguir, por favor note que você não deve tentar o seguinte em um servidor de produção. Por favor, tente os exemplos deste tutorial em uma máquina de teste e se familiarizar com sudo antes de testá-lo em um servidor de produção. sudo é uma ferramenta muito poderosa e deve ser usado com extrema cautela.

A meu conhecimento os “sudo” navios pacote com todas as distribuições Linux. Então, eu vou pular a instalação e pular direto para a configuração. Para este tutorial eu vou usar uma máquina Red Hat Linux. Entrar na sua máquina Linux como root e execute o seguinte comando na linha de comando:

# visudo

O comando acima irá abrir a configuração “sudo”, que é a / etc / sudoers, utilizando o editor padrão em sua máquina, que é Vim no meu. Desça até a seção onde você vê o seguinte texto:

rootALL = (ALL), ALL

O rompimento dessa sintaxe de configuração sudo vai como esta. Você primeiro definir o ‘user` para o qual você quer sudo configuração. Em seguida, vem o ‘hostname` onde o comando é permitido para executar. Este poderia ser um nome de host específico ou “ALL”, como no exemplo acima. E por último é o ‘comando` para a qual você quer dar o‘user` privilégio administrativo.

Voltar para a configuração. Em Vim desloque-se para a linha mostrada acima e bater a letra o no teclado para adicionar uma nova linha. Agora adicione o seguinte texto, em substituição calvin com seu próprio nome de usuário:

Calvin ALL = (ALL), ALL

Salve e saia do arquivo usando a seguinte combinação de teclas:

ESC: wq

Acerte o Retorna (Enter) para aplicar estas instruções. Temos agora dado o usuário ‘Calvin` todos os privilégios administrativos usando sudo. Abra uma nova janela de terminal e efetue login como o usuário que você concedeu privilégios sudo para. Vamos testar se as novas permissões ter sido configurado corretamente, reiniciando o servidor web Apache como usuário ‘Calvin`:

Video: Servidor DNS - Instalação e configurações gerais de rede no Ubuntu - 01

# sudo /etc/init.d/httpd restart
Senha:
Parando httpd: [OK]
Começando httpd: [OK]

O sistema irá pedir-lhe uma senha. Digite a senha para o seu nome de usuário. E voila! O servidor web Apache deve agora reiniciar. Você pode usar isso para qualquer outra tarefa administrativa. Concessão de privilégios completos para um usuário pode não ser sempre o melhor das ideias. Assim, você pode limitar o usuário a alguns comandos com privilégios administrativos. Vamos dizer que você deseja que o usuário ‘Calvin` a ser permitido apenas reiniciar o servidor web Apache. Abra o arquivo de configuração sudo usando o visudo comando e editar a linha que você entrou mais cedo para ficar assim:

Video: Comando sudo - Executando comandos com privilégios elevados no Linux - 01

Calvin ALL = (ALL) restart /etc/init.d/httpd



Salve e saia do arquivo. Log no terminal, conforme o utilizador ‘Calvin`. Agora tente reiniciar o Apache com sudo:

Video: Gerenciamento de Usuários e Grupos 04 - Criar usuários - comandos useradd e adduser

# sudo /etc/init.d/httpd restart
Senha:
Parando httpd: [OK]
Começando httpd: [OK]

Ótimo. Funciona. Agora tente parar o servidor web:

# parada sudo /etc/init.d/httpd
Senha:
Desculpe, Calvin usuário não tem permissão para executar ‘stop /etc/init.d/httpd` como root no Commons.

Então, como você pode ver, o usuário ‘Calvin` só pode fazer o que lhe permite fazer, nada mais. Você pode adicionar vários comandos no sudoers arquivo separado por vírgulas. Então, se você deseja permitir ‘Calvin` a permissão para parar e reiniciar o servidor web a configuração leria assim:

Calvin ALL = (ALL) /etc/init.d/httpd reinício, / etc / init.d stop / httpd

Agora tente parar o servidor web, e ele deve funcionar:

# parada sudo /etc/init.d/httpd
Senha:
Parando httpd: [OK]

Outra característica do sudo que é muito útil, especialmente se você precisa executar uma tarefa administrativa usando um shell script, está definindo o privilégio sudo sem ser solicitado para uma senha. Lembre-se que não pode ser aconselhável fazer isso em uma máquina de produção usando um nome de usuário que é compartilhada, pois se a senha para seu nome de usuário cai nas mãos erradas, pode significar problemas. Portanto, use esse recurso com cautela.

Abra o sudoers arquivo e editar a linha que você entrou mais cedo para ficar assim:

Calvin ALL = (ALL) /etc/init.d/httpd reiniciar NOPASSWD: ALL

A última parte da configuração instrui o sudo para não solicitar ou esperar uma senha e permitir que o usuário para executar o comando que é atribuído a ele com privilégios administrativos. Salve o arquivo e sair do seu editor de texto e tentar reiniciar o Apache:

# sudo /etc/init.d/httpd restart
Parando httpd: [OK]
Começando httpd: [OK]

Há muito mais personalização que pode ser feito para o arquivo de configuração sudo. Temos apenas olhou para um pequeno segmento dela. No entanto, isso deve dar-lhe um começo. Mais uma vez, por favor, usá-lo com cautela.


Artigos relacionados