[Cascavel-pm] Editar arquivo como outro usuario.

Luis Campos de Carvalho monsieur_champs em yahoo.com.br
Quinta Março 31 10:51:03 PST 2005


Alceu R. de Freitas Jr. wrote:
> Exceto se o programa que se quer executar necessita de
> direitos de root. Nesse caso, eu acredito que o Sudo
> seja uma solução melhor do que dar direitos de root a
> um programa.

   E o sudo(1) por acaso é um humano?
   Alceu, ao utilizar o sudo, você apenas migrou o problema de lugar.
   Ainda existe a possibilidade de um daemon ser corrompido e poder 
executar um único comando como superuser. E ainda é possivel corromper o 
sistema através disso. Sem exageros, não vai fazer a menor diferença se 
é o seu programa ou o sudo(1) quem é SetUID.

> Bem, nesse caso você pode fazer o script abrir o
> smb.conf com os direitos necessários, e depois criar
> um processo filho com direitos menores. O processo
> filho vai ter acesso somente ao arquivo, já que ele
> herda o filehand do processo pai. Isso pode ser o que
> você precisa.

   Este é um caminho.
   Eu me arriscaria ainda mais, especulando que pode ser possível 
determinar bem cedo na execução do sistema se precisamos ou não dos 
direitos do root, e abdicar deles (assumindo a identidade de um daemon 
com menos privilégios) *bem* *cedo* na execução do sistema.

> Na verdade, é um saco usar Taint mode. Considere
> escrever seu programa primeiro e depois tentar
> habilitar o Taint. Ele realmente ajuda a você
> construir programas mais seguros, mas gera um trabalho
> extra. Habilite o módulo Diagnostics
> 
> use diagnostics;
> 
> se você não entender sobre o que o modo Taint está se
> queixando.
> 
> O módulo Safe pode ser interessante também, mas eu
> mesmo nunca usei. Parece um tanto intrincado
> utilizá-lo.
> 

   Acho que o prof. Graciliano Passos escreveu uma extensão chamada 
Safe::World, que parece mais simples de usar. É basicamente como deixar 
o Taint para o próprio Perl resolver, e pode ser mais simples para entender.

   Espero estar ajudando.
   Putamplexos!
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Luis Campos de Carvalho is BSc in Comp Science,
  PerlMonk [SiteDocClan], Sao Paulo PM Leader,
  Unix Sys Admin && Certified Oracle DBA
  http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



Mais detalhes sobre a lista de discussão Cascavel-pm