Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ScornInPC

Comando linux

Recommended Posts

Pessoal, procurei por isso o dia todo, sem sucesso.

 

to precisando executar um comando no linux por um script meu, logo procurei por algum comando que me desse a flexibilidade de me deixar ser root apenas naquele comando, algo como

 

sudo -u root -p senha -s cat /var/log/squid/access.log

ou ainda

su -l root -p senha -c cat /var/log/squid/access.log

 

sem sucesso =/

 

agora pergunto, que eu saiba naum existe nenhuma função do php que faça isso, ou tem??

 

alguem ja se viu nessa situação??

 

outra coisa, se alguem ai tiver noção de blinding, poderiamos fazer uma extenssãozinha pra isso, o que acham?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Anderson, to sabendo. o problema naum eh esse.

 

seguinte, quando um usuario acessa um servidor linux, ele esta acessando o scrip com o usuario nobody.

 

esse usuario naum tem permissão de muita coisa, e preciso fazer uma delas.

 

logo se fizer um script assim:

 

system("sudo -s");system("senha");system("comando");

naum funciona, claro. Logo preciso de um comando que faça algo assim

 

system("sudo -p senha -s comando")

captch ;)

 

inicialmente o duvida seria de linux.

 

Porem pergunto aqui, se existe algum comando que possa fazer isso por exemplo.

 

systemroot("comando", "senha_do_root")

alguem ja viu algo assim?? se naum, proponho em fazer um sistema que o faça, com alguem mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para executar o comando sudo são necessários 2 coisas:

- 1o, o comando deve estar instalado; (em algumas distribuições este recurso não é padrão)

- 2o, o usuário (nobody) deve estar na lista de sudoers; (caso o comando sudo esteja instalado, o arquivo sudoes esta no diretório /etc)

 

No mais, há outras formas de solucionar o problema.

No primeiro post você colocou que quer acessar e listar o conteúdo do arquivo de log de acessos do squid, certo?

Você pode criar um link simbólico de um diretório web para este arquivo;

Dar permissão de leitura no arquivo citado;

 

Se a instalção é criar relatórios de acesso, você pode instalar o SARG.

http://www.devin.com.br/eitch/sarg/

http://www.vivaolinux.com.br/artigos/verAr...php?codigo=1416

http://www.zago.eti.br/squid/sarg.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prog, acho que você entendeu +/- o que ue quero.bom, vamo la:tenho que fazer um sistema onde os estagiarios, ao verem um usuario entrando em algo proibido, acessem o sistema e listem os 10 ultimos sites que a pessoa entrou, para saber a palavra que deve-se bloquear. assim ele adiciona a palavra e reconfigura o squid.naum quero dar permissão ao arquivo, pois toda semana ele eh automaticamente renomeado e compactado, assim o squid recria ele, entuam acabaria ficando algo manual novamente, pois teria que toda semana dar permissão pra ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, instalei o SQUID aqui pra ver exatamente como ficavam as permissões do diretório.

Constatei que realmente ele criar o diretório e os arquivos sem permissões suficiente, desta forma, vamos precisar fazer 2 coisas.

 

Uma maneira seria colocar a propriedade cache_effetive_group como nogroup (grupo do usuário do nobody).

Desta forma, toda vez que ele gerar um novo arquivo de log, este viria com a permissão r (read) para o nogroup.

Tentei mexer na propriedade umask do arquivo de configuração do squid, mas não tive sucesso, ele sempre gerava os arquivos com as mesmas permissões.

Você também vai precisar dar permissão no diretório /var/log/squid, para que o usuário possa "entrar": chmod o+xr /var/log/squid

 

Acredito que com isto resolva.

 

Ou você pode tentar instalar o sudo no servidor. (não acho esta uma tarefa muito segura para este caso)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prog, o sudo existe no servidor, tem como passar a senha pelo proprio sudo?? sem o proptzinho pedindo a senha? isso sim seria o melhor. isso naum influenciaria em nada na segurança do servidorha, no man do sudo naum diz nada sobre algum parametro para senha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa incluir esta linha no seu arquivo sudoers:

nobody ALL=NOPASSWD:ALL

 

Depois, só executar seus comandos:

echo system("sudo tail -20 /var/log/squid/access.log");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prog, mais fazendo isso

 

nobody ALL=NOPASSWD:ALL

 

o nobody vai poder usar o sudo sem senha naum eh??

 

isso pode gerar insegurança =/

 

se for isso mesmo, vai ser inviavel

 

seria legal poder tirar a senha só para o tail

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então você coloca assim:

nobody ALL=NOPASSWD:/usr/bin/tail

 

Caso você precise incluir outros comandos, terá que incluir o binário de cada comando, exemplo:

nobody ALL=NOPASSWD:/usr/bin/tail,/usr/bin/head

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.