Olá pessoal,
Gostaria de saber se tem como eu restringir um unico usuário de usar apenas o comando su e mais nada. e quero restringir outro usuário para nao acessar o su e nem sudo.
Como posso fazer isso?
Não entendi. Queres que um usuário só possa executar su?
su para root ou para outro usuário?
Qual seria o propósito disto?
> e quero restringir outro usuário para nao acessar o su e nem sudo.
Eu uso pam e, evidentemente, visudo
O Ubuntu, por exemplo, usa o arquivo sudoers (configurável pelo comando
visudo) onde autoriza os integrantes do grupo admin a executaram
qualquer comando como root via sudo (eu simplesmente ODEIO esta
abordagem do ubuntu. Acho que eles bagunçaram o conceito de sudo :-( )
No pam tu podes restringir o comando su apenas para quem é do grupo
wheel (o sudo também, mas ai compete com o sudoers)
faz assim:
a) cria um grupo com o nome wheel (exatamente ESTE NOME)
b) coloca como membro deste grupo todos os usuários que poderão executar su
c) Edita o arquivo /etc/pam.d/su e/ou /etc/pam.d/su-l (SUSE tem ambos)
SUSE
Descomenta ou mesmo INSIRA a linha:
auth required pam_wheel.so
Se tu quiser (CUIDADO!!! PERIGOSO) que os membros do grupo wheel possam
executar su SEM SENHA para qualquer usuário, adicione ainda:
auth sufficient pam_wheel.so trust
Com a primeira linha (required) só quem for membro do grupo wheel poderá
executar com sucesso o comando su. Os demais receberão sempre um aviso
de senha errada, mesmo que a senha esteja correta. Com a segunda linha,
quem for do wheel ainda executará su SEM NECESSIDADE da senha.
O comando visudo edita o arquivo /etc/sudoers (mas que não pode ser
editado manualmente). Este comando chama o editor padrão do sistema,
geralmente o nano (eca). para usar o teu editor preferido (vi??) é só
setar a variável de ambiente EDITOR:
export EDITOR=vim
Depois, a execução do visudo usará o vim.
para que o usuário não possa executar sudo, basta que ele não pertença a
nenhuma regra existente no arquivo sudoers (editável por visudo).
O Ubuntu, como disse, tem uma regra para o grupo admim:
%admin ALL=(ALL) ALL
Isto indica que quem for do grupo admin poderá executar sudo usando a
SUA SENHA (não a de root) para qualquer comando. Basta que teu usuário
não seja membro deste grupo. Se tua distro não é ubuntu, basta recriar
esta regra.
MINHA CRÍTICA AO UBUNTU
O comando sudo não é um alias para su!
Não foi idealizado para se tornar root, mas sim para executar algumas
tarefas como root.
Usando o sudo eu posso, por exemplo, dizer que o usuário fulano poderá
executar o comando passwd como root, mas apenas o passwd. Assim, ele
poderá trocar a senha de qualquer usuário. OPA, de qualquer? então ele
poderá trocar a do root? SIM. Mas para evitar isto, eu posso dizer, via
regras, que só poderá executar o comando passwd como root se o parâmetro
não for root.
sudo passwd ciclano # OK
sudo passwd root # NAO
O sudo é muito mais elegante e com propósitos muito mais nobres do que
este que a Ubuntu aplicou e faz todo mundo pensar que o root é sudo!
Olá pessoal,
Gostaria de saber se tem como eu restringir um unico usuário de usar apenas o comando su e mais nada. e quero restringir outro usuário para nao acessar o su e nem sudo.
Como posso fazer isso?
Só para o caso de UBUNTU!
E mesmo assim não é 100% garantido, pois nada garante que os ids dos
grupos serão sempre estes em qualquer instalação.
Em um ubuntu server 7.10, estes ids correspondem aos seguintes grupos:
4 adm
20 dialout
21 fax
24 cdrom
25 floppy
26 tape
29 audio
30 dip
44 video
46 plugdev
105 nvram
107 mysql
109 ssh
115 winbindd_priv
Já em uma instalação 8.04 LTS server também do UBUNTU estes ids são:
4 adm
20 dialout
21 fax
24 cdrom
25 floppy
26 tape
29 audio
30 dip
44 video
46 plugdev
105 scanner
107 fuse
109 crontab
115 postfix
Em um CD live 8.10 desktop:
4 adm
20 dialout
21 fax
24 cdrom
25 floppy
26 tape
29 audio
30 dip
44 video
46 plugdev
105 nvram
107 ssl-cert
109 crontab
115 pulse
Observe que NEM MESMO NAS VERSÕES de UBUNTU eles se mantém!
NO SUSE 11.0
4 INEXISTENTE
20 cdrom
21 console
24 INEXISTENTE
25 at
26 INEXISTENTE
29 INEXISTENTE
30 INEXISTENTE
44 INEXISTENTE
46 INEXISTENTE
105 avahi
107 haldaemon
109 pulse-rt
115 INEXISTENTE
logo, Não é uma solução portável!
Não é mais fácil simplesmente usar os nomes dos grupos na linha de
comando do usermod?
--
Eduardo
Ah! E não chamem "superusuário" de "root", root é só um nome e em
muitos casos, uma conta usada para "honey pot".
Rafael
--
http://www.rafaelfoto.com
Fotografia de Casamentos, Aniversários, Formaturas, Shows, Eventos
Esportivos, e festas em geral.
Pra mim não faz sentido...
Para "proibir" o sudo, acho que basta não incluir esse usuário e os
seus grupos na configuração.
Para o 'su', talvez seja necessário tirar o acesso a todos que não
sejam o superusuário ou de um grupo específico (wheel, ou whell, ou
alguma outra combinação que não lembro).
Rafael
2008/11/19 Rafael Tomelin <rafael....@gmail.com>: