
 
		
		
    
-  PHP + exec()
 
	
	
 
 
 
		
			
	+ Responder ao Tópico
	
	
	
	
	
	
		
			
- 
	
	
		
		
			
				
				
				
					
 PHP + exec()
				
				
						
							
							
						
						
				
					
						
							Estou utilizando uma interface web para gerenciar um programa que roda no meu Ubuntu Server.
Ao acessar a interface tenho que colocar um usuário e uma senha, definidos no momento da instalação do programa, para ter acesso aos recursos.
Estou "adicionando" algumas páginas de configuração à essa interface utilizando PHP.
Preciso criar um arquivo dentro de uma pasta do sistema, mas ao executar o comando exec(touch caminho\nome_do_arquivo) não acontece nada.
Acredito que seja problema de permissão de acesso à pasta do sistema.
Como posso fazer esse comando rodar como um usuário específico?? Existe alguma linha de código PHP que eu posso definir o usuário e a senha que devem ser utilizados??
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
		
			
				
				
				
					
 Re: PHP + exec()
				
				
						
						
				
					
						
							<?php
mkdir('/test1/test2', 0777, true);
chmod('/test1', 0777);
chmod('/test1/test2', 0777);
?>
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
		
			
				
				
				
					
 Re: PHP + exec()
				
				
						
						
				
					
						
							tenta exec(sudo touch caminho\nome_do_arquivo)
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
		
			
				
				
				
					
 Re: PHP + exec()
				
				
						
						
				
					
						
							Boa noite,
Tentei de ambas as formas sugeridas mas não criou a pasta nem o arquivo.
Existe alguma forma de executar um comando como root através do PHP??
Acredito que não está funcionando pois a pasta onde quero criar o arquivo precisa de permissão para acesso.
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
		
			
				
				
				
					
 Re: PHP + exec()
				
				
						
						
				
					
						
							Estive realizando alguns testes e os resultados foram os seguintes:
Editei o arquivo 'VISUDO' e adicionei a seguinte linha 'root ALL = NOPASSWD: /caminho do script' e também 'ALL ALL = NOPASSWD: /caminho do script'.
O script contém o seguinte conteúdo:
sudo mkdir /usr/local/nagios/share/config2/teste;
As permissões do arquivo script.sc:
-rwxr-xr-x 1 root root 63 2010-12-11 09:38 script.sc
Ao colocar a função get_current_user( ) no código PHP ela retornou 'root' mas mesmo com as tentativas acima ainda não consigo criar o diretório.
O que estou fazendo de errado?
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
		
			
				
				
				
					
 Re: PHP + exec()
				
				
						
						
							
						
				
					
						
							Entre no terminal e digite "gksudo nautilus (pasta aonde ficam os arquivos)" volte um nível a cima, cliquei com o botão direito na pasta e e altere a permissão dos usuários.
Veja se resolve.