o que acontece se todos os usuários forem definidos como padrão enquanto a senha raiz não estiver definida

3

Eu não me atrevo a fazer como no título.
Portanto, defino a senha raiz primeiro com sudo passwd root e, em seguida, altero todos os outros usuários para serem usuários padrão, nenhum administrador, portanto, nenhum usuário pode sudo .
Se eu quiser definir um administrador, apenas su root com a senha definida.

Mas agora me pergunto o que acontece se eu não tiver definido a senha de root no início e, em seguida, altero todos os usuários para serem o usuário padrão. Isso significa que este sistema operacional não pode ser configurado por sudoers para sempre? Existe algum método para definir um novo administrador?

    
por LYg 31.07.2012 / 07:12

2 respostas

6

O que aconteceria

Se você configurar seu sistema para que nenhum usuário seja administrador, ninguém poderá executar tarefas administrativas como root com sudo (ou suas interfaces gráficas, como gksu , gksudo e kdesudo ) ou PolicyKit . Supondo que a conta root permaneça desabilitada, você não poderá efetuar login como root (mesmo em um console virtual) ou su -to- root . Bloqueio de possíveis vulnerabilidades de segurança, isso impediria que qualquer pessoa executasse tarefas administrativas no sistema em execução.

Corrigindo o problema

No entanto, se você fez isso, o problema ainda será facilmente corrigido , supondo que você tenha acesso físico à máquina. Corrigir esse problema é semelhante a redefinir uma senha esquecida, exceto que você adiciona o usuário aos grupos sudo e / ou admin com usermod , em vez de redefinir sua senha com passwd .

Aqui está um método:

  1. Inicialize no modo de recuperação segurando Shift enquanto inicializa e seleciona. Selecione a opção para um shell root . Você receberá um shell com um prompt # (em vez do usual $ ). Isso significa que é um root shell. Qualquer comando executado aqui é executado como root .

  2. Se você souber seu nome de usuário, pule esta etapa. Para descobrir seu nome de usuário, execute ls /home . Essa é uma maneira bastante confiável de listar os nomes de usuário dos usuários humanos de seu sistema (omitindo contas de usuário como www-data e nobody , que são usadas internamente, mas não representam pessoas reais).

  3. Execute esses comandos para adicionar username ao (s) grupo (s) necessário (s) para ser um administrador. (Substitua username pelo nome de usuário real.)

    usermod -a -G sudo username
    usermod -a -G admin username

    Isso tenta adicionar separadamente o usuário aos grupos sudo e admin . Nos lançamentos do Ubuntu até o Ubuntu 11.10, os administradores estavam no grupo admin . No Ubuntu 12.04 (e em versões futuras), os administradores estão no grupo sudo ; se um sistema 12.04 foi atualizado de uma versão anterior, os dois grupos existirão.

    Assim, você pode colocar o usuário em apenas um, se souber qual deles, ou simplesmente executar esses dois comandos e colocá-los no que houver. Eu aconselho fazer isso com dois comandos para que, se um grupo não existir, o erro não pare usermod de tentar adicionar o usuário ao outro grupo.

O modo de recuperação é geralmente acessível. Mas, ocasionalmente, ela pode estar quebrada, desabilitada ou exigir uma senha; nesse caso, você pode inicializar a partir de um CD ativo, chroot no sistema instalado e executar os comandos usermod . Aqui está um procedimento para fazer isso, adaptado de minha resposta consideravelmente mais geral aqui :

  1. Se você ainda não tiver um, grave um CD / DVD ao vivo do Ubuntu (em Ubuntu , Windows ou Mac OS X ) ou escreva uma unidade flash USB ao vivo do Ubuntu (em Windows ou Mac OS X ).

  2. No seu sistema Ubuntu (não no sistema live CD / DVD / USB), execute o seguinte comando no Terminal ( Ctrl + Alt + T ). Você não precisa ser um administrador para fazer isso.

    mount | grep ' on / '
    

    Você deve incluir os espaços antes de on e depois de / .

  3. Esse comando produz algo como /dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0) como a saída. O texto antes de on (não incluindo o espaço) é o nome do dispositivo da partição que contém o sistema de arquivos raiz do seu sistema Ubuntu. Lembre-se (ou anote).

  4. Inicialize o computador a partir do CD / DVD / USB ativo e selecione Try Ubuntu without installing (não Install Ubuntu ).

  5. Execute esses comandos, substituindo /dev/sda1 pelo nome do dispositivo da partição que contém o sistema de arquivos raiz do sistema Ubuntu, se diferente (e username com o nome de a conta de usuário que você deseja dar habilidades administrativas).

    sudo mount /dev/sda1 /mnt
    sudo chroot /mnt
    usermod -a -G sudo username
    usermod -a -G admin username
    exit
    sudo umount /mnt

    Como com o outro método, você pode usar ls /home (execute este após o comando chroot ) para ver uma lista de usuários na máquina, se você não souber o nome de usuário .

Alternativas para eliminar administradores

No Ubuntu, quando você é um administrador, ainda precisa se autenticar com sudo ou PolicyKit para executar ações como root . Isso é considerado pelo menos tão seguro quanto usar su para executar ações como root, pois qualquer pessoa que possa comprometer sua conta de maneira a ler sua própria senha (por sudo ) também pode ler root 's senha (para su ). Além disso, há algumas vantagens substanciais ( explicadas aqui ) de sudo over su e a ativação do root conta, apesar de bastante possível, não é recomendada nem oficialmente suportada no Ubuntu.

Se você decidir que, embora sudo e PolicyKit exijam sua senha para executar ações como root , você mesmo deseja que você e todos os outros usuários humanos em sua máquina sejam executados como usuário padrão (e não como um administrador que pode executar comandos como root ), você tem duas opções fáceis:

  1. Você pode ativar a conta root , mas isso não é recomendado, conforme explicado acima. Além disso, por padrão, você não poderá efetuar login em uma sessão gráfica como root , e você não deve configurar seu sistema para permitir isso , pois é particularmente perigoso para executar todo um ambiente gráfico de desktop como root (um bug de segurança em qualquer parte dele poderia comprometer seu sistema). Além disso, a maioria dos programas GUI não são testados como root , portanto, pode haver bugs substanciais de usabilidade. Se você habilitar root , você deve sempre fazer logon como root em um console virtual (ou use su ).

  2. A melhor opção é criar apenas outra conta de usuário para fins administrativos. Torne essa conta um administrador. Ter uma conta que não seja root e possa executar tarefas administrativas com sudo e PolicyKit não forçará você a usar essa conta para tarefas diárias não administrativas.

No entanto, a maioria dos usuários é melhor com o padrão - em que pelo menos uma conta de usuário é um administrador e pode executar tarefas administrativas, mas deve (re) inserir sua senha para fazer isso.

    
por Eliah Kagan 31.07.2012 / 07:53
2

Na verdade, você teria um sistema sem administradores, mas poderia ser corrigido ao inicializar no modo de recuperação ou ao usar uma sessão ativa para editar /etc/sudoers e / ou /etc/group .

Observe que a configuração de uma senha para root não é recomendada. Por favor, veja link

    
por geirha 31.07.2012 / 07:19

Tags