Olá, pessoal!
Sou iniciante, e já usei o Debian algumas vezes, porém notei que ao digitarmos "su" uma vez no terminal e digitarmos a senha de root, podemos executar várias tarefas administrativas em seguida, sem nos ser pedida a senha novamente. Isso facilita o usuário, mas não me parece muito seguro. Será que haveria como fazermos o sistema pedir a senha de root a cada tarefa administrativa?
Se alguém puder me ajudar, eu agradeço muito.
- Home
- >
- Fórum
- >
- Redes
- >
- Redes, Servidor...
- >
- Duração da senha de root...
É só não usar o "su", e sim o "sudo".
O "su" abre uma sessão de root, ou seja, você vai executar comandos como root até a hora em que não quiser mais.
O "sudo" vai executar um comando como root (a menos que vc use "sudo -s" ou "sudo bash", que vão abrir a sessão de root semelhante ao "su"). Você pode configurá-lo para pedir a senha do root, a sua senha, ou não pedir senha nenhuma.
Uma vez pedida a senha, o "sudo" vai manter essa senha em cache por um tempo padrão de 15 minutos (necessário confirmar), para a sessão corrente. Esse tempo é configurável.
Também é possível configurar quais comandos cada usuário pode executar, de forma que vc deixe um executar "sudo mount", enquanto o outro só pode fazer "sudo shutdown". Com o "su", o usuário pode fazer qualquer coisa que o root possa.
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
Mas qualquer usuário comum que souber a senha do root pode usar o "sudo"?
Marcos Honorato
Debian Bullseye
kubuntu 22.04.2 LTS
mshonorato disse: Mas qualquer usuário comum que souber a senha do root pode usar o "sudo"?
Ah, aí está a beleza do sudo: não!!! Só os usuários que você autorizar. Mesmo que eles tenham a senha do root, eles não vão poder fazer nada, exceto o que você autorizar explicitamente no arquivo "/etc/sudoers".
E, supondo que você bloqueou o programa "su", saber a senha de root vai adiantar quase nada para eles.
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
mshonorato disse: Mas qualquer usuário comum que souber a senha do root pode usar o "sudo"?
O usuário comum, habilitado no arquivo /etc/sudoers, pode usar o sudo, sem precisar saber a senha do root.
Dá para configurar se ele deve ou não entrar com sua senha (dele mesmo) a cada uso do sudo, ou dá também para limitar quais programas ele pode rodar com o sudo.
Legal, entendi...
Mas como eu defino os comando que ele pode executar?
Coloco o nome do usuário e o comando entre parenteses?
assim: marcos (ls, dir, rm, etc...)
Meu sudoers está assim:
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL
Marcos Honorato
Debian Bullseye
kubuntu 22.04.2 LTS
Se não me engano é isso aí. Dá até para colocar parâmetros, restringindo o uso do comando com os parâmetros dados, mas agora não me lembro bem como fiz isso. Fiz uns vários testes com o sudoers certa vez, mas não estão em uso agora. Tente:
marcos ALL=NOPASSWD: /bin/ls, /bin/rm
a) as alterações só fazem efeito no próximo login
b) substituindo NOPASSWD por PASSWD, o sudo pede a senha do usuário ao executar o sudo (evita que um script malicioso execute o sudo sem sua autorização)
substituindo NOPASSWD por PASSWD, o sudo pede a senha do usuário ao executar o sudo
Até isso pode ser configurado. Adicionando a diretiva "Defaults targetpw" ao /etc/sudoers, ao invés de pedir a senha do usuário, pede a senha do root.
Eu não acho vantagem, mas é uma opção a mais para o administrador.
Ah, uma dica, antes que eu esqueça: use sempre o programa "visudo" para editar o arquivo "/etc/sudoers". Esse programa chama o editor padrão do sistema (definido na variável de ambiente EDITOR), depois faz uma checagem de sintaxe no arquivo editado. Se não passar, ele te oferece a opção de editar novamente ou voltar ao original.
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
Ok, valew pessoal...
Vou dar uma estudada no "sudo"...
Marcos Honorato
Debian Bullseye
kubuntu 22.04.2 LTS
jqueiroz disse:
O "sudo" vai executar um comando como root
Você pode configurá-lo para pedir a senha do root, a sua senha, ou não pedir senha nenhuma.
Uma vez pedida a senha, o "sudo" vai manter essa senha em cache por um tempo padrão de 15 minutos (necessário confirmar), para a sessão corrente. Esse tempo é configurável.
Também é possível configurar quais comandos cada usuário pode executar, de forma que vc deixe um executar "sudo mount", enquanto o outro só pode fazer "sudo shutdown".
Obrigada, pessoal, pela atenção de vcs!
JQueiroz, eu não entendi muito bem, ainda estou engatinhando...
Todas essas configurações ficam no arquivo "/etc/sudoers", que você deve editar com o comando "visudo".
É um pouco longo pra explicar cada uma delas aqui, então sugiro que você consulte o manual online, com "man sudo" e "man sudoers".
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
jqueiroz disse: Todas essas configurações ficam no arquivo "/etc/sudoers", que você deve editar com o comando "visudo".
Uma vez, tentei aprender a editar com o comando "visudo", mas achei tão complicado, não consegui... Será que teria como eu inserir os comandos direto no arquivo "/etc/sudoers"?
Ter, tem; mas o "visudo" é a forma recomendada, pois com ele, você só consegue alterar o arquivo "/etc/sudoers" usando a sintaxe correta.
Vc deve ter se enrolado pq ele te jogou pra usar um editor que você não está acostumado --- o vim, o nano, o mcedit, ou até mesmo o emacs.
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
Jqueiroz, vc saberia me explicar apenas, primeiramente, qual é o comando que a gente dá para, no terminal, ser pedida a senha do root, a cada tarefa administrativa que precisarmos fazer? Ou seja, o comando para que a cada tarefa administrativa que fizermos no terminal tenhamos que digitar "su" e fornecer a senha de root (o comando para zerarmos o tempo de expiração da senha do "su")?
"su".
Se você quer o comportamento do "su", use o "su", não o "sudo".
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke