Questão Qual é a diferença entre adicionar um usuário ao grupo “sudoers” versus “root”?


Fiz algumas pesquisas e, para permitir que o usuário use o comando sudo, você deve adicioná-los ao grupo "sudoers". Isso dá a eles privilégios de root, desde que eles digitem a senha do root. Mas também encontrei exemplos de pessoas adicionando o usuário ao grupo "raiz" em vez do grupo "sudoers". Minha pergunta é se há privilégios diferentes dados entre os dois grupos e, em caso afirmativo, quais são eles e quais são os benefícios de ambas as técnicas?

Eu estou usando um servidor Debian Linux.

obrigado


4


origem


Um faz o usuário com a capacidade de elevar sua permissão, o outro, faz com que as permissões do usuário tenham a maior permissão possível sempre. - Ramhound


Respostas:


O 'root group' como o que você especificaria em / etc / group é sobre permissões de unix. Cada arquivo tem permissões de usuário, grupo e 'outro'. Se um arquivo for configurado de forma que os usuários na raiz do grupo possam lê-lo, você poderá conceder a um usuário a capacidade de ler esse arquivo, colocando o usuário na raiz do grupo. Claro, então esse usuário pode ler cada arquivo que possui o bit de leitura definido para raiz do grupo.

O arquivo sudoers é sobre a execução de comandos com o ID efetivo de outros usuários. Você tem mais controle granular sobre quais comandos cada usuário pode executar e como quem. Portanto, se você quiser que um usuário só possa executar um comando específico como root, você o definiria no arquivo sudoers.


3





Embora a questão mencione "servidor Debian Linux", ela está atualmente marcada com o Debian e o Ubuntu. Como as informações sobre vários sistemas operacionais parecem ser de algum interesse, vou simplesmente ignorar totalmente as referências a sistemas operacionais específicos e apenas descrever os padrões mais difundidos.

Grupos são listados em / etc / group e freqüentemente há um grupo chamado "root". Este arquivo lista os nomes dos grupos e seus valores numéricos correspondentes "ID do grupo" ("GID").

Qualquer pessoa em um grupo chamado "root" terá a capacidade de ler, gravar ou executar arquivos que tenham um "proprietário do grupo" definido para o mesmo "ID do grupo" ("GID") que o grupo denominado root. Portanto, se um arquivo pertencer a "bin: root" e tiver permissões de "rwxrwx ---", um usuário do grupo "root" poderá executar o arquivo devido ao conjunto intermediário de permissões.

Em contraste, o padrão definido pelo software "sudo" é baseado na configuração armazenada no arquivo / etc / sudoers. No arquivo / etc / sudoers, os nomes dos grupos no estilo Unix são mostrados após os sinais de porcentagem, conforme discutido sudoers man page (no formato HTML): seção no formato de arquivo "sudoers". Portanto, uma referência a% sudoers no arquivo / etc / sudoers refere-se a um grupo chamado "sudoers", que está no arquivo / etc / groups.

O arquivo / etc / sudoers padrão não contém uma referência a um grupo chamado "sudoers". Note que estou me referindo ao arquivo / etc / sudoers padrão real, que você pode ver vendo repositório sudo, clicando em "procurar" no quadro da esquerda, depois "exemplos" e depois "sudoers".

No entanto, muitos sistemas operacionais têm um arquivo / etc / sudoers personalizado instalado por padrão. Portanto, é bem possível que seu sistema operacional tenha suporte especial para um grupo chamado sudoers. Para entender o impacto exato, confira o arquivo / etc / sudoers.

Presumivelmente, o que é provável é que, se o seu sistema operacional tiver um grupo chamado sudoers, uma pessoa nesse grupo poderá elevar as permissões usando o comando sudo. (A maneira recomendada de confirmar isso envolve a verificação do arquivo / etc / sudoers.)

Quando uma pessoa eleva seus privilégios, essa pessoa pode precisar digitar uma autenticação aceitável (uma senha) ou pode não precisar fazer isso. Mesmo se o fizerem, depois de serem autenticados, eles podem ter um "token" por algum período de tempo, o que permitirá que eles se elevem novamente sem precisar autenticar novamente (até que o período de tempo esteja esgotado). Esse período de tempo é de 5 minutos, a menos que o / etc / sudoers especifique algo diferente usando uma opção chamada "tempo limite".

Por outro lado, uma pessoa no grupo "raiz" não precisaria digitar uma senha para acessar um arquivo que pertence ao grupo "raiz".

Observe que o grupo "sudoers" pode ser preferencial. Ao elevar, uma pessoa pode obter acesso total ao superusuário. (Isto é típico. O arquivo / etc / sudoers pode permitir que uma pessoa mude para um usuário diferente, ou para elevar, mas com restrições em qual comando é executado inicialmente. Geralmente, com configurações padrão / simples, uma pessoa que eleva fica cheia Quando autenticado como um superusuário completo, um usuário geralmente não está sujeito a permissões que são baseadas em propriedades típicas do sistema de arquivos Unix (as configurações "owner" e "owner do grupo"). O usuário ainda pode estar sujeito a outras limitações baseadas em permissões, como permissões impostas pela maneira como uma partição foi montada (que é a razão pela qual o software não permitirá que um usuário grave em um CD-ROM somente leitura) ou outro outro motivo pelo qual um arquivo pode não fornecer permissões (como se um arquivo estivesse bloqueado, indicando que o arquivo já está em uso). Se um arquivo é de propriedade de:

raiz: raiz

e tem permissões de:

rwx ------

Em seguida, um usuário não obtém permissões para o arquivo apenas porque o usuário está em um grupo chamado "root". Assim, o grupo "raiz" pode ser mais conveniente (sem senhas necessárias), embora possa ser mais limitado. (Ou, um grupo em / etc / sudoers pode ser mais limitado, baseado em como / etc / sudoers é configurado.)


3





Em primeiro lugar, root usuário é o primeiro usuário no sudoers grupo, logo após o Ubuntu é instalado na máquina. Segundo, root e um superusuário (por exemplo, Michael) tem o mesmo user id (UID) de 0, que é o ID dos superusuários. Eles têm os mesmos privilégios. Em terceiro lugar, a única diferença é que um super user tem que digitar sudo comando antes de qualquer comando que precise de privilégios especiais, mas root usuário não precisa. Eles são diferentes apenas pelo nome e são reconhecidos a saber.


1