fbpx

Comandos Linux – Comando visudo

Comando visudo do Linux

comando visudo

Em sistemas operacionais do tipo Unix, o comando visudo edita o arquivo sudoers , que é usado pelo comando sudo . Para alterar quais usuários e grupos têm permissão para executar o sudo , execute o visudo .

Se o usuário que está executando o sudo não atender à configuração de autenticação nos sudoers , será negada a permissão para executar um comando com privilégios escalados.

Você não deve editar sudoers diretamente, abrindo-o em um editor de texto. Em vez disso, edite-o com visudo , que verificará sua validade antes de salvar as alterações no disco.

Descrição

visudo edita o arquivo sudoers , que define os usuários e grupos com direitos de administrador.

O Visudo edita o arquivo sudoers de maneira segura, semelhante à maneira como o vipw edita com segurança o arquivo passwd . O Visudo bloqueia o arquivo sudoers em várias edições simultâneas, fornece verificações básicas de integridade e verifica se há erros de análise. Se o arquivo sudoers estiver sendo editado por outra pessoa ou por você em outra sessão, você receberá uma mensagem para tentar novamente mais tarde.

Existe uma lista codificada de um ou mais editores que o visudo usará, configurados no momento da compilação . O padrão é vi .

Nota: Por padrão, o visudo não respeita as variáveis ​​de ambiente VISUAL ou EDITOR , usadas por muitos programas para determinar o editor de texto padrão. No entanto, se o visudo estiver configurado com a opção –with-env-editor ou a variável padrão env_editor for definida no arquivo sudoers, o visudo usará qualquer um dos editores definidos por VISUAL ou EDITOR . Fazer isso pode tornar seu sistema vulnerável a uma restrição de segurança, no entanto, porque permite ao usuário executar qualquer programa que desejar, configurando VISUAL ou EDITOR .

O Visudo analisa o arquivo sudoers após a edição e não salva as alterações se houver um erro de sintaxe . Ao encontrar um erro, o visudo imprimirá uma mensagem informando o (s) número (s) de linhas em que o erro ocorreu e o usuário receberá o “E agora?” prompt . No prompt, digite e para editar novamente o arquivo sudoers, x para sair sem salvar as alterações ou Q para sair e salvar as alterações. A opção “Q” deve ser usada com extremo cuidado, porque se o visudo encontrar um erro de análise , o sudo será executado e ninguém poderá executar o sudonovamente até que o erro seja corrigido. Se “e” for digitado para editar o arquivo sudoers após a detecção de um erro de análise, o cursor será colocado na linha em que o erro ocorreu, se o editor suportar esse recurso.

Sintaxe

visudo [ -c ] [ -h ] [ -q ] [ -s ] [ -V ] [ -f  sudoers ]

Opções

-cAtive o modo somente verificação. O arquivo sudoers existente será verificado quanto a erros de sintaxe , proprietário e modo . Uma mensagem será impressa na saída padrão descrevendo o status dos sudoers , a menos que a opção -q tenha sido especificada. Se a verificação for concluída com êxito, o visudo sairá com o valor 0 . Se um erro for encontrado, o visudo será encerrado com o valor 1 .
-f sudoersEspecifique um local de arquivo alternativo para sudoers . Com esta opção, o visudo editará (ou verificará) o arquivo sudoers de sua escolha, em vez do padrão / etc / sudoers . O arquivo de bloqueio usado é o arquivo de sudoers especificado com “.tmp” anexado a ele. Apenas no modo somente verificação, o argumento para -f pode ser  , indicando que os sudoers serão lidos a partir da entrada padrão .
-hA opção -h (ajuda) faz com que o visudo imprima uma mensagem curta de ajuda na saída e saída padrão.
-qAtive o modo silencioso. Nesse modo, detalhes sobre erros de sintaxe não são impressos. Esta opção é útil apenas quando combinada com a opção -c .
-sHabilite a verificação estrita do arquivo sudoers . Se um alias for usado antes de ser definido, o visudo considerará isso um erro de análise. Observe que não é possível diferenciar entre um alias e um nome de host ou nome de usuário que consiste apenas em letras maiúsculas, dígitos e o caractere sublinhado (‘ _ ‘).
-VA opção -V (versão) faz com que o visudo imprima seu número de versão e saia.

O arquivo sudoers

Um arquivo típico de sudoers se parece com isso:

#
# Este arquivo DEVE ser editado com o comando 'visudo' como root.
#
# Por favor, considere adicionar conteúdo local em /etc/sudoers.d/ em vez de
# modificando diretamente este arquivo.
#
# Veja a página de manual para obter detalhes sobre como escrever um arquivo sudoers.
#
Padrões env_reset
Padrões mail_badpass
Padrões secure_path = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / snap / bin"
# Especificação de alias de host
# Especificação de alias de usuário
# Cmnd especificação de alias
# Especificação de privilégios do usuário
raiz ALL = (ALL: ALL) ALL
# Membros do grupo de administradores podem obter privilégios de root
% admin ALL = (ALL) ALL
# Permite que membros do grupo sudo executem qualquer comando
% sudo ALL = (ALL: ALL) ALL
# Veja sudoers (5) para obter mais informações sobre as diretivas "#include":
#includedir /etc/sudoers.d

Aqui, ” root ALL = (ALL: ALL) ALL ” afirma que o usuário root , conectado a qualquer nome de host , pode executar, como qualquer usuário ou grupo, qualquer comando. A forma geral desta diretiva é:

usuário  hostname = ( runas-user : runas-group )  comando

A palavra especial ALL pode ser usada para qualquer um desses valores e significa que qualquer um é permitido.

Se o usuário começa com um % , ele é interpretado como o nome de um grupo e a diretiva se aplica a todos os usuários desse grupo. Portanto, a linha ” % admin ALL = (ALL) ALL ” permite que qualquer usuário pertencente ao administrador do grupo execute qualquer comando como qualquer usuário ou grupo. As mesmas permissões são definidas para os membros do grupo sudo , três linhas depois.

Portanto, com essa configuração, se você deseja que um usuário tenha direitos sudo , basta adicioná-los ao grupo admin ou sudo e não precisa editar sudoers . Nesse caso, o comando:

usermod -aG sudo esperança

Iria conceder direitos sudo para o usuário espero próxima vez que efetuar login. Para mais informações sobre como usar o usermod para mudar a associação de grupo de um usuário, consulte o usermod comando .

Se você não deseja ter um grupo sudo dedicado , pode definir direitos de sudo para um usuário diretamente nos sudoers, adicionando uma linha em qualquer lugar do arquivo. Para dar ao usuário esperança de acesso total ao sudo, por exemplo, adicione:

esperança ALL = (ALL: ALL) ALL

Em seguida, salve o arquivo e saia do editor de texto iniciado pelo visudo.

Arquivos importantes

/ etc / sudoersConfiguração de permissões para o comando sudo .
/etc/sudoers.tmpO arquivo de bloqueio, que impede várias edições simultâneas em sudoers .

Exemplos

Para editar o arquivo sudoers , execute o visudo como root. Alterne usuário para root com su (requer a senha root , que é diferente da sua senha de usuário):

su
Senha:

Em seguida, execute o visudo :

visudo

Ou, se você já possui direitos de sudo, execute o visudo com o sudo :

sudo visudo
[sudo] senha para o usuário:

Diretivas do Sudoer

A seguir, exemplos de linhas que podem ser adicionadas a sudoers quando você executa o visudo :

esperança ALL = (ALL: ALL) ALL

esperança do usuário pode executar todos os comandos como qualquer usuário ou grupo, conectado a qualquer host ao qual essa configuração se aplique.

% esperança ALL = (ALL: ALL) ALL

O mesmo que acima, exceto que a permissão se aplica a qualquer membro da esperança do grupo (que pode ou não incluir a esperança do usuário ).

esperança myhost = (mysqluser: mysqlusers) mysqldump

esperança do usuário , quando está logado para hospedar o myhost , pode executar o comando mysqldump como usuário mysqluser ou membro do grupo mysqlusers . Por exemplo, esta directiva permitiria usuário esperança para executar o comando:

sudo -u mysqluser -g mysqlusers mysqldump

su – Torne-se o superusuário ou outro usuário.
sudo – Executa um comando como superusuário.
vi – Editor de texto baseado no modo visual de ex .
vipw – Edite com segurança o arquivo de senha.

22 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900

Copyright © Linux Force Security  - Desde 2011.