Restringindo usuario ao su

408 views
Skip to first unread message

Rafael Tomelin

unread,
Nov 19, 2008, 7:46:48 AM11/19/08
to TcheLinux
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?

Tiago Vaz

unread,
Nov 19, 2008, 8:11:01 AM11/19/08
to Tche...@googlegroups.com
Para fazer coisa parecida eu editei o /etc/group.

Talvez esse link te ajude:
http://linuxieu.blogspot.com/2008/08/apagou-o-usurio-principal-no-ubuntu.html

2008/11/19 Rafael Tomelin <rafael....@gmail.com>

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?





--
Tiago Vaz - Linux user nº 478054
http://counter.li.org/
http://linuxieu.blogspot.com/

Elgio Schlemer

unread,
Nov 19, 2008, 8:16:26 AM11/19/08
to Tche...@googlegroups.com
Rafael Tomelin escreveu:

> Olá pessoal,
>
> Gostaria de saber se tem como eu restringir um unico usuário de usar
> apenas o comando su e mais nada.

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!

Marcelo Goebel Machado

unread,
Nov 19, 2008, 8:30:17 AM11/19/08
to Tche...@googlegroups.com
Só uma rapidinha.. ao  concluir meu primeiro semestre do curso que estou fazendo.. meu projeto era instalar linux em umas maquinas.. sendo assim tenho alguns resquiços aki ainda..

para deixar um usuario com as mesmas permissões do principal usuário.. eu utilizei o seguinte comando:

usermod -G 4,20,21,24,25,26,29,30,44,46,105,107,109,115 teste


onde adiciona o usuário "teste" aos grupos ali inseridos..

para saber exatamente qual Id eh qual grupo.. vc pode acessar o /etc/group onde eh listado todos os grupos e suas respectivas Ids.

espero ter ajudado..

2008/11/19 Rafael Tomelin <rafael....@gmail.com>

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?





--
Marcelo Goebel Machado

http://aprendendoolinux.blogspot.com

Elgio Schlemer

unread,
Nov 19, 2008, 8:55:11 AM11/19/08
to Tche...@googlegroups.com
Marcelo Goebel Machado escreveu:

> Só uma rapidinha.. ao concluir meu primeiro semestre do curso que
> estou fazendo.. meu projeto era instalar linux em umas maquinas..
> sendo assim tenho alguns resquiços aki ainda..
>
> para deixar um usuario com as mesmas permissões do principal usuário..
> eu utilizei o seguinte comando:
>
> usermod -G 4,20,21,24,25,26,29,30,44,46,105,107,109,115 teste
>

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!

Marcelo Goebel Machado

unread,
Nov 19, 2008, 9:08:49 AM11/19/08
to Tche...@googlegroups.com
hm.. interessante..
não achei que mesmo no proprio ubuntu haviam tantas diferenças nas ids dos grupos
mas tinha conciencia que poderiam mudar..
ateh muitas vezes a ordem em que os grupos sao criados.. há interferencia...

mas com essa conciencia que indiquei acessar o /etc/group para analisar direitinho a qual grupo adicionar..

mas vlw a observação..



2008/11/19 Elgio Schlemer <elg...@gmail.com>

Eduardo Habkost

unread,
Nov 19, 2008, 9:19:05 AM11/19/08
to Tche...@googlegroups.com
On Wed, Nov 19, 2008 at 12:08:49PM -0200, Marcelo Goebel Machado wrote:
> hm.. interessante..
> não achei que mesmo no proprio ubuntu haviam tantas diferenças nas ids dos
> grupos
> mas tinha conciencia que poderiam mudar..
> ateh muitas vezes a ordem em que os grupos sao criados.. há interferencia...
>
> mas com essa conciencia que indiquei acessar o /etc/group para analisar
> direitinho a qual grupo adicionar..

Não é mais fácil simplesmente usar os nomes dos grupos na linha de
comando do usermod?

--
Eduardo

Rafael Jeffman

unread,
Nov 19, 2008, 9:41:53 AM11/19/08
to Tche...@googlegroups.com
O único ID "reservado", IIRC, é o '0', para o superusuário. O resto é
"arbitrário" ou "sequencial" ou "randômico". Se existe um padrão de
"numeração", sou contra. :)

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.

Rafael Tomelin

unread,
Nov 19, 2008, 11:32:53 AM11/19/08
to Tche...@googlegroups.com
Elgio,

Tenho 2 usuario (clientes) que precisam acessar via ssh o servidor, porém quero que um desses usuarios não acesse "su" nem o "sudo" e o outro usuario pode acessar somente o "su".

Esses dois usuarios tem que ser restrito no seu próprio home.
Na distribuição (Slackware) que uso, não possui o pam.




2008/11/19 Rafael Jeffman <raf...@gmail.com>

Rafael Jeffman

unread,
Nov 19, 2008, 11:54:23 AM11/19/08
to Tche...@googlegroups.com
Se o cara pode usar "su", ele pode virar um outro usuário que vai ter
outras permissões de acesso.

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>:

Rafael Tomelin

unread,
Nov 19, 2008, 12:29:37 PM11/19/08
to Tche...@googlegroups.com
Pessoal,

Como não preciso do "sudo" no servidor, resolvi desistalar o mesmo. Já com o "su"  fiz o seguinte:


Bloquear/restringir acesso ao "su" somente ao grupo wheel Para bloquear o acesso ao comando 'su' e permitir somente que o grupo wheel tenha acesso ao comando, você pode fazer 2 passos diferentes, ambos funcionam:

1 - modificando permissões:

# chgrp wheel /bin/su
# chmod 4750 /bin/su
# /usr/sbin/usermod -G wheel alexandre

Descrição:

   1. Mudo o grupo que pertence o arquivo /bin/su;
   2. Altero as permissões para que somente dono e grupo executem;
   3. Adicionei o usuário 'alexandre' ao grupo 'wheel'.



2008/11/19 Rafael Jeffman <raf...@gmail.com>

Rafael Tomelin

unread,
Nov 19, 2008, 12:29:55 PM11/19/08
to Tche...@googlegroups.com
Valeu pela ajuda de todos

2008/11/19 Rafael Tomelin <rafael....@gmail.com>
Reply all
Reply to author
Forward
0 new messages