2010/5/24 Ananias Filho <[email protected]>:
> O que aconteçe com o sudo, é que ele executa comandos como root e não
> comando do root.
> ex.
> comandos em /bin e /usr/bin
> podem ser executados "como root" e como usuário comum.
>
> já os comandos em /sbin e /usr/sbin
> só podem ser executados por "super usuários" como o root por exemplo.

> Para entender na prática, execute o comando fdisk como usuário comum e veja
> o que vai acontecer
> "comando não encontrado"
> porque?
> como vc já havia verificado, o comando está dentro de /sbin e só poderá ser
> executado por um "super usuário"
> entendeu?

Se colocar o /sbin no PATH tu consegue executar os comandos que estão
lá. A definição do FHS só serve para organizar a estrutura de
diretórios, são raros os casos onde um programa testa se ele é
executado como root ou como um usuário normal.

Usando o próprio exemplo do fdisk, o que faz com que um usuário normal
não o execute é que:

 1 - Se o usuário não for membro do grupo disk, não vai conseguir
escrever nos dispositivos de disco em /dev
 2 - /sbin, /usr/local/sbin e /usr/sbin não estão no PATH padrão
destes usuários.

Se contornar estas duas limitações, um usuário normal pode sim
executar o fdisk em um disco:

m...@willcrashforsure:~$ ls -l /dev/sdb
brw-rw---- 1 root disk 8, 16 2010-05-23 09:57 /dev/sdb
m...@willcrashforsure:~$ sudo chmod 666 /dev/sdb
m...@willcrashforsure:~$ /sbin/fdisk -l /dev/sdb

Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x217df979

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       14593   117218241   83  Linux


> agora tente executar o comando com o caminho completo.
> sudo /sbin/fdisk -l

É porque o sudo do Slackware não tem um secure_path definido por
padrão. Outras distros fazem isso e ai não precisa passar o caminho
completo.

Além de editar o sudoers, como falei em outra respsota, é possível
criar um alias ou um "wrapper" para o sudo. tipo:

alias sudo='PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin /usr/bin/sudo'

-- 
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.istf.com.br/perguntas/

Para sair da lista envie um e-mail para:
[email protected]

Responder a