Quais são as diferenças entre sudo, su, visudo, chroot e gksu?

Respostas:

24
  • chrooté uma maneira de inserir uma pasta e 'fingir' essa pasta /para qualquer coisa executada dentro dela. Isso permite executar executáveis ​​em uma instalação do Ubuntu que não inicializa, montando-o em outro lugar que não seja /e usando /bin/bash(o que está dentro da instalação) para obter um prompt de terminal.

  • sudo- Permite que determinadas contas sejam autenticadas para executar um programa como root ou outro usuário. Alguns programas podem não precisar de uma senha, conforme definido no sudoersarquivo. Se o pedido é permitido ou não depende do utilizador (e grupo) rodando sudo, e o comando a ser executado, como definido na sudoers.

  • su- Também é uma maneira de elevação, mas tem diferenças, pois realiza um logon interativo completo como raiz (ou outro usuário) e fornece um prompt do bash, a menos que especificado de outra forma com argumentos. Ele usa as credenciais do usuário de destino como autenticação.

  • visudo- Edita o sudoersarquivo. Isso usa um executável especial que verifica a sintaxe do arquivo para garantir que você não esteja bloqueado sudodevido a um sudoersarquivo corrompido . Se você tentar salvar uma configuração inválida, ela o interromperá e retornará ao editor para corrigi-lo.

  • gksudoougksu é o mesmo que sudo, exceto que é gráfico e reescreve alguns caminhos para que os programas gráficos não causem problemas de permissão no perfil do usuário, especialmente com ~/.Xauthority.

ζ--
fonte
11
Para ser exato sue sudopermitir executar processos como outro usuário , ele não precisa ser root. susempre pode ser usado para alternar para qualquer outro usuário (autenticando com as credenciais desse usuário). O While sudopode ser particularmente configurado para permitir a execução de programas específicos em um contexto de usuário específico por usuários específicos. Na maioria das vezes, embora ambos sejam usados ​​para obter privilégios de root.
Paul Hänsch
44

sudo:

Sudo (superusuário) permite que um administrador de sistema conceda a certos usuários (ou grupos de usuários) a capacidade de executar alguns (ou todos) comandos como root enquanto registram todos os comandos e argumentos. Sudo opera em uma base por comando.

Não é um substituto para o shell.

Os recursos incluem: a capacidade de restringir quais comandos um usuário pode executar por host, o registro abundante de cada comando (fornecendo uma trilha de auditoria clara de quem fez o que), um tempo limite configurável do comando sudo e a capacidade de usar o mesmo arquivo de configuração (sudoers) em muitas máquinas diferentes.

fonte

visudo

visudo é um utilitário de linha de comando que permite editar o /etc/sudoersarquivo de maneira segura. Ele é aberto /etc/sudoers, usando a interface do editor vi por padrão (embora isso possa ser alterado configurando a variável de ambiente EDITOR do shell para um editor de texto diferente), impede várias edições simultâneas com bloqueios, executa verificações de integridade e verifica erros de análise.

fonte

SU

O comando su, também conhecido como usuário substituto, superusuário ou alternar usuário, permite que um operador de computador altere a conta de usuário atual associada ao console virtual em execução.

Por padrão, e sem nenhum outro argumento de linha de comando, isso elevará o usuário atual ao superusuário do sistema local.

Quando executado a partir da linha de comando, su solicita a senha do usuário de destino e, se autenticado, concede ao operador acesso a essa conta e aos arquivos e diretórios que essa conta tem permissão para acessar.

Além disso, pode-se alternar para outro usuário que não seja o superusuário

fonte

raiz

root é o nome de usuário ou a conta que, por padrão, tem acesso a todos os comandos e arquivos em um sistema operacional Linux ou outro tipo Unix. Também é chamada de conta root, usuário root e superusuário.

A palavra raiz também possui vários significados relacionados adicionais quando usada como parte de outros termos.

Um deles é o diretório raiz, que é o diretório de nível superior em um sistema. Ou seja, é o diretório em que todos os outros diretórios, incluindo seus subdiretórios e arquivos, residem. O diretório raiz é designado por uma barra ( /).

Outro é /root(raiz de barra pronunciada), que é o diretório inicial do usuário raiz.

Também pode se referir à raiz do usuário, que é o administrador do sistema com privilégios totais.

fonte

chroot

Um chroot é uma operação que altera o diretório raiz aparente para o processo em execução atual e seus filhos. por exemplo, se você fizer chroot /mnt/chroot-test, o diretório /mnt/chroot-testserá sua raiz virtual à qual você pode se referir /.

fonte

Usos de chroots

A seguir, alguns usos possíveis de chroots:

  1. Isolando aplicativos inseguros e instáveis

  2. Executando aplicativos de 32 bits em sistemas de 64 bits

  3. Testando novos pacotes antes de instalá-los no sistema de produção

  4. Executando versões mais antigas de aplicativos em versões mais modernas do Ubuntu

  5. Construindo novos pacotes, permitindo um controle cuidadoso sobre os pacotes de dependência instalados

fonte e mais informações sobre chroot


fonte
11
quase confuso, no ubuntu, o visudo usa o nano. Eu acho uma maneira fácil de lembrar qual é qual é 'su' = alternar usuário (para root - sim, você pode usá-lo para alternar para outros usuários também), 'sudo' = alternar usuário para root e fazer e chroot como ' mudar raiz '. Não é totalmente preciso, mas perto o suficiente para lembrar.
Journeyman Geek
11
@JourneymanGeek Uma extensão mais precisa e, na minha opinião, tão fácil quanto a sumneumônica sudoé dizer que sudosignifica "Usuário Comutado DO" (ou seja, faça como usuário comutado) ou "SuperUser DO" (ou seja, faça como superusuário). Isso então torna sudoerselegivamente associativo (ou seja, "Usuários alternados DOERS" ao invés de apenas "(usuários alternativos e DO)"). A razão dessas variantes são mais precisos é que sudopermite que alguém executar uma ação como um usuário alternativo, mas não necessariamente deixá-los ser que o usuário alternativo em geral (dependendo do conteúdo de /etc/sudoers).
Eliah Kagan 10/10
@ mayyux: Esse é apenas um significado de chroot . (Não basta perguntar à Wikipedia.) Mais comumente significa um subsistema seguro (e bloqueado), executando no Unix / Linux, que permite que apenas um pequeno conjunto de executáveis ​​(ou serviços) seja usado.
David6 11/11/12
5

SU conecta você como root.

O terminal permanecerá como raiz da sessão.

Com o sudo (superusuário do), você pode executar operações como root enquanto estiver conectado como um usuário comum.

luso
fonte