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]

