Desabilitando a raiz
Você precisa ter uma conta root. As únicas coisas que você pode fazer com isso, em termos de "desativá-lo", são:
-
Bloqueie a conta
$ sudo passwd -l root
-
Dar root uma senha inutilizável
$ sudo usermod -p '!' root
sudo - como root do usuário
Lembre-se de que quando um usuário com "privilégios administrativos" estiver fazendo uso de sudo
, estará executando comandos com privilégios elevados como o usuário root!
Você pode ver que isso é verdade com um simples comando ps
:
$ sudo sh -c "ps -eaf | grep [s]udo"
root 2625 26757 0 04:19 pts/10 00:00:00 sudo sh -c ps -eaf | grep [s]udo
O exemplo acima mostra que quando o comando ps
é executado, você é efetivamente o usuário root.
Inicializando
Além disso, ao inicializar em um sistema no modo de usuário único (a partir do GRUB), você precisará fazer o login usando a conta root. Normalmente você está passando a palavra single
para o GRUB ou o número 1
.
Quais permissões do sudo eu tenho?
Em um sistema em que uma pessoa recebeu sudo
permissões, você pode usar o comando sudo -l
para ver quais direitos você tem. Estes não são um conjunto completo de direitos de todos, apenas o usuário que está executando o comando.
Por exemplo:
$ sudo -l
Matching Defaults entries for saml on this host:
env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG
LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME
LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User saml may run the following commands on this host:
(ALL) ALL
(root) NOPASSWD: /usr/lib/jupiter/scripts/bluetooth, (root) /usr/lib/jupiter/scripts/cpu-control, (root)
/usr/lib/jupiter/scripts/resolutions, (root) /usr/lib/jupiter/scripts/rotate, (root) /usr/lib/jupiter/scripts/touchpad, (root)
/usr/lib/jupiter/scripts/vga-out, (root) /usr/lib/jupiter/scripts/wifi
OBSERVAÇÃO: Os comandos aos quais se tem acesso são tudo após a linha, "O usuário pode executar o seguinte ....".
Limitando o acesso via sudo
O Sudo tem um recurso bastante rico para limitar o acesso a comandos específicos, grupos de comandos, usuários específicos e / ou grupos específicos de usuários. No entanto, existem algumas advertências com sudo
.
Você pode conceder acesso total a tudo com essa linha em /etc/sudoers
:
aaditya ALL=(ALL) ALL
Você também pode dar a um usuário o que parece ser um acesso simples a vim
de determinados arquivos:
aaditya ALL=/usr/bin/vim
Isso seria um grande erro, pois muitos editores, como vim
, permitem que você invoque um subshell de dentro deles. Assim, o usuário aaditya
poderá obter acesso a um shell com permissões de root, mesmo que as permissões sudo
não tenham a intenção de que isso aconteça.