Por que usar o sudo?

Iniciado por rockman, 07 de Setembro de 2010, 14:37

tópico anterior - próximo tópico

rockman

Boa tarde galera!

Esse ano comecei a estudar algumas distribuições Linux. Já passei por Slackware, Debian, Fedora, OpenSUSE e agora resolvi dar uma chance ao Ubuntu. Uma coisa que vem me deixado curioso em relação a segurança é o comando SUDO. Por que usar o comando sudo para administrar o sistema é mais seguro que se logar como root? Não vejo muito sentido, já que o usuário que cadastrei na instalação do Ubuntu pode fazer a mesma coisa que o root... Abraços.

linuser104

Citação de: rockman online 07 de Setembro de 2010, 14:37
Boa tarde galera!

Esse ano comecei a estudar algumas distribuições Linux. Já passei por Slackware, Debian, Fedora, OpenSUSE e agora resolvi dar uma chance ao Ubuntu. Uma coisa que vem me deixado curioso em relação a segurança é o comando SUDO. Por que usar o comando sudo para administrar o sistema é mais seguro que se logar como root? Não vejo muito sentido, já que o usuário que cadastrei na instalação do Ubuntu pode fazer a mesma coisa que o root... Abraços.

Por que usando o sudo, vc entra e sai do modo administrador rapidamente, não fica todo o tempo nele, é pontual o acesso. Já entrar como usuário root no sistema você fica permanentemente como superusuário e então qualquer invasão ao seu sistema vai dar total poder ao intruso que poderá fazer o que desejar.
Linux = Quem realmente gosta de computador; Mac = Artista Digital; Windows = A maioria que votou no Tiririca [pior que tá não fica].

rockman

Mas se digitar exit eu faço logoff do root e ele não fica permanetemente. O que não entendo é que o usuário cadastrado no ato da instalação tem total controle da mesma forma que o root, é só digitar a senha que ele faz tudo do mesmo jeito. Qual a real vantagem do sudo?

Nossile

É mais rápido usar o sudo em uma sessão normal do que ter de fazer logoff , depois login na conta root, dar os comandos que se deseja, fazer logoff na conta root e fazer login na conta normal de novo. A alternativa seria ficar sempre na conta root, mas aí a segurança do sistema fica ameaçada.
sudo aptitude remove terno-e-gravata && sudo aptitude install bermuda chinelo -y

rockman

Mas no caso é só digitar su, logar como root, fazer os comandos e depois exit que ele volta pra conta que eu tava usando.
Ainda não encontrei explicação do aumento de segurança com o sudo.

linuser104

#5
Citação de: rockman online 07 de Setembro de 2010, 15:58
Mas se digitar exit eu faço logoff do root e ele não fica permanetemente. O que não entendo é que o usuário cadastrado no ato da instalação tem total controle da mesma forma que o root, é só digitar a senha que ele faz tudo do mesmo jeito. Qual a real vantagem do sudo?

O primeiro usuário que você cadastra no Ubuntu é o administrativo, entretanto se você criar outros usuários para o Ubuntu, eles não podem usar o sudo, pois teriam de saber a senha do usuário administrativo.

Você pode usar o exit para sair do terminal logado constantemente como root, mas pode esquecer de sair e o sudo como é pontual ele sai automaticamente sem precisar de você digitar exit num terminal logado como root quando terminar o que estava fazendo. O sudo é uma comodidade para só usar determinado(s) comando(s) e já sair do modo root automaticamente assim que terminado a tarefa do que ficar constantemente em modo root até que você se lembre de digitar exit.

O root não é proibido usar, é desaconselhável usá-lo constantemente. Alguém na operação do sistema operacional tem que ter o privilégio de superusuário, caso não fosse assim, como é que você poderia fazer determinadas operações no sistema que só o usuário administrativo pode realizar, por isso o usuário da instalação do Ubunru é que é um usuário administrativo e a sua senha é a do root.
Linux = Quem realmente gosta de computador; Mac = Artista Digital; Windows = A maioria que votou no Tiririca [pior que tá não fica].

rockman

É seguro usar o usuário da instalação pra usar o pc? Navegar na internet e etc? Devo fazer alguma configuração no sudo pra ele ficar mais seguro, deminuir o tempo de "logado"?

linuser104

#7
Citação de: rockman online 07 de Setembro de 2010, 16:23
É seguro usar o usuário da instalação pra usar o pc? Navegar na internet e etc? Devo fazer alguma configuração no sudo pra ele ficar mais seguro, deminuir o tempo de "logado"?

Ainda não entendi bem qual a sua preocupação com relação ao primeiro usuário que você cria no sistema ter privilégios root com o sudo, mas para saber mais sobre este assunto veja este link:

http://wiki.ubuntu-br.org/RootSudo

Cuidado com vai ler por lá por que as coisas podem ter mudado um pouco visto que este artigo é datado de 2008

Outros links:

https://help.ubuntu.com/community/RootSudoTimeout

https://help.ubuntu.com/community/RootSudo

https://help.ubuntu.com/community/RootSudoPT
Linux = Quem realmente gosta de computador; Mac = Artista Digital; Windows = A maioria que votou no Tiririca [pior que tá não fica].

rockman

linuser104:

Procurei saber sobre o sudo e vi que ele foi criado por administradores para gerenciar as permissões de outros administradores. Por exemplo: O grupo WEB tem permissão de usar alguns comandos de restart, stop, start dos serviços WEB, etc.

Fico preocupado em relação a segurança da conta do administrador do Ubuntu (usuário criado na instalação) pois mesmo pode digitar sudo rm -rf / e acabar com o sistema da mesma forma de um usuário logado com o su ou, se por ventura eu pegue um script malicioso planejado para atacar sistemas Ubuntu e coincidentemente usei o comando sudo, o mesmo irá se beneficiar da janela de 15 minutos sem precisar digitar a senha novamente. Então pelo que entendi até agora, usar o "administrador do Ubuntu" é tão arriscado quanto usar a conta root em outras distribuições.

Estou certo ou não entendi alguma regra de segurança?

Abraços.

cesargcomp

Se você quer que não exista essa janela de 15 minutos faça o seguinte:

1 ) Abra o arquivo /et/sudoers como root
ALT+F2
gksu gedit /etc/sudoers

2 ) Adicione no final do arquivo a seguinte linha:
Defaults:'nome_do_usuario' timestamp_timeout=0
* Substitua 'nome_do_usuario' pelo seu usuário e defina o tempo da janela em timestam_timeout (no caso o 0'zero' para não existir a janela)

Espero ter ajudado!
Use Ubuntu. Segurança, facilidade e gratuidade em suas mãos.

linuser104

#10
Citação de: rockman online 08 de Setembro de 2010, 10:12
linuser104:

Procurei saber sobre o sudo e vi que ele foi criado por administradores para gerenciar as permissões de outros administradores. Por exemplo: O grupo WEB tem permissão de usar alguns comandos de restart, stop, start dos serviços WEB, etc.

Fico preocupado em relação a segurança da conta do administrador do Ubuntu (usuário criado na instalação) pois mesmo pode digitar sudo rm -rf / e acabar com o sistema da mesma forma de um usuário logado com o su ou, se por ventura eu pegue um script malicioso planejado para atacar sistemas Ubuntu e coincidentemente usei o comando sudo, o mesmo irá se beneficiar da janela de 15 minutos sem precisar digitar a senha novamente. Então pelo que entendi até agora, usar o "administrador do Ubuntu" é tão arriscado quanto usar a conta root em outras distribuições.

Estou certo ou não entendi alguma regra de segurança?

Abraços.

Todo sistema operacional, que prima pela segurança, tem que ter uma conta de administrador para que mudanças importantes só possam ser efetuadas por ele. Como disse antes, no Ubuntu, o Administrador é o primeiro usuário criado no sistema, agora não significa que esse usuário vai estar logado todo tempo como superusuário (root), para ele realizar algo assim terá de usar o comando sudo (ou o su) que pede senha, do contrário ele é um simples usuário do sistema como os outros. A diferença é que ele pode usar o sudo ou su e os outros não podem.

É lógico que o usuário que vai ser o administrados deve ter uma capacidade de discernimento das coisas maior que um simples usuário e não vai ficar dando "comandos da morte" tipo o sudo rm -rf / que nem sei se hoje em dia ele ainda funciona no Ubuntu, acho que li que não, só não tenho certeza e nem vou executá-lo para comprovar, hehehe.

Se é script ele pode ser analisado e portanto o administrador saberá se ele é ou não malicioso, usuário comum não deve executar scripts que não entende e pior que isso como root.

Se o problema é o tempo que o sudo fica sem pedir senha, 15 min acho que não é isso não, pode ser diminuído ou até retirado como os link que te indiquei informam ou a dica do colega cesargcomp (que é a mesma dos links) só que isso envolve alterar algo no sudoers e mexer nele é perigoso, qualquer erro vai deixar vc sem o poder de superusuário.

PS: A dica do colega mais acima não está totalmente correta, pois não basta editar o sudoers como root, pois inicialmente a edição dele é proibida até para o root, sendo só permitido a leitura do arquivo, portanto tem-se que antes habilitar a escrita no sudoers e aí é que mora o perigo.
Linux = Quem realmente gosta de computador; Mac = Artista Digital; Windows = A maioria que votou no Tiririca [pior que tá não fica].

RonaldoRG

CitarPS: A dica do colega mais acima não está totalmente correta, pois não basta editar o sudoers  como root, pois inicialmente a edição dele é proibida até para o root, sendo só permitido a leitura do arquivo, portanto tem-se que antes habilitar a escrita no sudoers e aí é que mora o perigo.
É verdade mexer no sudoers é perigoso pra quem não tem conhecimento. Se você tentar usar algum programa durante a edição do sudoer (fiz isso) dá problema e você não consegue mais usar programas administrativos (aconteceu isso). Eu sempre zero o tempo do sudo, acho que ele deveria vir zerado porque em 15 minutos muita coisa pode acontecer.

Mas você fazendo de forma rápida não tem erro. Primeiro faz um backup do sudoers, depois muda a permissão para leitura e escrita, abri o sudoers e colocar no final "Defaults:'nome_do_usuario' timestamp_timeout=0", salvar e fechar o sudoers e voltar a permissão para somente leitura. Durante esse processo não abra nenhum outro programa. Se der erro volta com o backup e tenta de novo.
Abraço.
Ubuntu 12.04

irtigor

O arquivo /etc/sudoers não deve ser editado diretamente, deve-se usar o visudo pra isso.

zeroday

Exatamente irtigor o sudoers nao deve/pode ser editado diretamente tem que rodar o comando sudo visudo.
"Lutar sempre , vencer na medida do possível , desistir jamais."

zeroday

E so pra complementar acho uma das maiores utilidades do sudo o fato de vc poder criar grupos de usuarios que tem acesso a comandos restritos do sistema , pois estes usuarios "fazem o que precisam fazer" sem saber qual eh a senha root do sistema , aumentando e muito a segurança de tal sistema.
"Lutar sempre , vencer na medida do possível , desistir jamais."