From: Marcelo B. <md...@ma...> - 2000-10-12 02:28:04
|
Oi pessoal, Dei um search aqui nos mails enviados, pesquisando sobre o sudo... E vejam só que coincidência, achei um mail que tinha enviado pro Alex há muito tempo atrás.... From: Marcelo Beckmann. <md...@ma...> To: ne...@ya..., Alex Borro <ne...@za...>, Linux-BR <lin...@ba...> Subject: Re: (linux-br) Sudo: Como funciona? Date: Thu, 11 May 2000 22:26:17 -0300 Em qua, 10 mai 2000, Alex Borro escreveu: : Olá pessoal... : : Gostaria de saber se alguém pode me dizer resumidamente como : utilizar o sudo. Eu li as man pages mas não entendi como : funciona o arquivo sudoers (sintaxe, formato, etc) e também : se alguém puder me indicar alguma documentação "entendivel", : eu agradeço...Ah, um exemplo que eu queria fazer era usar o : sudo para permitir usuários de executar pppd. : Muito Obrigado. Olá Alex, O sudo serve para que voce permita que usuarios comuns executem algum comando permitido apenas para o root. É melhor do que usar o su, pois o usuário não precisa saber a senha do root. Voce deve editar o arquivo /etc/sudoers, para definir quais comandos serão permitidos para o usuario. Segue um exemplo do /etc/sudoers, para permitir ao usuário joao executar o shutdown: # sudoers file. # # This file MUST be edited with the 'visudo' command as root. # # See the man page for the details on how to write a sudoers file. # # Host alias specification # User alias specification # Cmnd alias specification Cmnd_Alias JOAO=/usr/bin/shutdown --> aqui defini o grupo de comandos JOAO. É importante definir o path completo. # User privilege specification joao ALL=JOAO --> usuario joao pode executar o grupo de comandos JOAO root ALL=(ALL) ALL --> root pode tudo Por esse exemplo, o usuario joao digita: sudo shutdown -h now entra com a senha de joao e executa o shutdown. ok? []s Marcelo Beckmann ---8<---- saindo do tunel do tempo ---8<---- Legal né? Bom, já que já temos meio caminho andado, bolei aqui um adendo pro texto sobre o sudo que o André escreveu. Segue ai: ------------------- CONFIGURANDO O SUDO Pode-se configurar o sudo de modo que se possa executar um comando como root sem a necessidade de entrada de password. Essa facilidade é muito prática para programas que são muito frequentemente utilizados. Para fazer isso, acompanhe o exemplo do arquivo /etc/sudoers abaixo: [root@arise /root]# cat /etc/sudoers # sudoers file. # # This file MUST be edited with the 'visudo' command as root. # # See the man page for the details on how to write a sudoers file. # # Host alias specification # User alias specification # Cmnd alias specification # Define um grupo de comandos de nome INTERNET # o qual poderá executar o linuxcall Cmnd_Alias INTERNET=/usr/sbin/disca # User privilege specification # Configura para que o usuario de nome hacker # possa executar os comandos do grupo INTERNET # sem a necessidade de digitação de password hacker ALL=NOPASSWD: INTERNET # root pode tudo root ALL=(ALL) ALL Com essa configuração, o usuario 'hacker' pode executar o grupo de comandos INTERNET, sem precisar digitar sua password. Bastará que o mesmo digite: [hacker@beer ~/rock]$ sudo disca ou [hacker@beer ~/rock]$ sudo /usr/sbin/disca No exemplo, definiu-se apenas um comando (disca), entretanto mais comandos poderiam ter sido definidos. É importante sempre definir o caminho completo do que vai ser executado, previnindo que o usuario possa executar qualquer arquivo com nome igual que esteja localizado em outro diretório com poderes de root. Colocando o caminho completo, estamos definindo que apenas aquele comando em específico poderá ser executado com poderes de root por um usuário comum via sudo. Para editar o arquivo /etc/sudoers, por default utiliza-se o visudo. Mas isso pode ser modificado de acordo com as preferências do usuário. Para maiores informações, veja a página man do sudo e do sudoers. _____________________________ COMANDOS VIA SUDO DENTRO DO X Ao se executar programas via sudo dentro do X (interface gráfica), pode ser necessário alguma configuração adicional. Ela é feita via comando xhost, o qual permite a execução de programas dentro da sua sessão do X por outro(s) usuário(s). Para isso, dentro de um terminal no X, execute: ]$ xhost + Para maior esclarecimento, consulte a página de manual do comando xhost. -------------------- ALTERNATIVAS AO SUDO Alternativamente ao sudo, pode-se utilizar do artificio de setagem do bit de SUID do programa a ser executado. Ao setar esse bit, faz-se com que o programa em questão seja executado como se o dono do arquivo o estivesse executando. ------------ NOTA: Essa alternativa é muito desaconselhável, em virtude dos possíveis problemas de segurança que pode acarretar. Devido a isso, utilize preferencialmente o comando sudo, descrito anteriormente. ------------ Para configurar o bit de SUID, segue exemplo: ]# chmod 4755 /usr/sbin/disca ]# ls -l /usr/sbin/disca -rwsr-xr-x 1 root root 2538 Oct 11 20:21 disca Perceba a diferença nas permissões do arquivo. Para o dono do arquivo, as permissões estão configuradas como 'rws', ou seja, leitura, gravação, e execução. O 's' (que aparece no lugar do habitual 'x') indica que o bit de SUID está setado. Dessa forma, o comando disca será sempre executado como se o dono dele (root) estivesse executando-o. Para maiores informações, consulte a página man do comando chmod. ====================8<------------------ Bom, é isso ai, deêm uma lida e vejam o que vocês acham, toda sugestão é bem vinda. Um abração a todos ai pessoal, hurrruuuuu! -- -- Marcelo D. Beckmann - Linux User #173935 md...@ma... - UIN 53189692 http://marcelobeckmann.cjb.net .~. 233MMX 32MB 8.4+3.2GB Quantum Fireball /V\ OPL3SAx TGUI9680 2MB 33600 CL5 2.2.14 + Slack7 2.2.13 /(.)\ "Estamos de volta aos tempos em que os homens eram homens ^`~´^ e programavam seus próprios drivers de dispositivo." L.T. |
From: C. <al...@br...> - 2000-10-12 04:07:09
|
Marcelo Beckmann wrote: > > Oi pessoal, Fala Marcelo, beleza ? > Bom, é isso ai, deêm uma lida e vejam o que vocês acham, toda > sugestão é bem vinda. cara isso já tá virando um howto... hehehehe tipo, tá massa... mas tá aprofundando demais... lembrem-se: o objetivo é o LinuxCall... > Um abração a todos ai pessoal, hurrruuuuu! Hurruuuu..... é isso aí... vamos nessa... []'s -- André Casteliano Analista de Sistemas - al...@br... +---------------------------------------------+ | Linux User: # 178853 Machine: # 79923 | | Linux Heavy User - Powered by Slackware 7.1 | | http://www.geocities.com/andre_casteliano/ | +---------------------------------------------+ | LinuxCall - The Linux Dialer | | http://linuxcall.sourceforge.net | +---------------------------------------------+ |