2014-06-24 4 views
0

centos 네트워크 설정 파일을 설정하는 스크립트를 작성하고 싶지만 이러한 설정 파일 (/ etc/sysconfig/network-script/ifcfg-eth0)을 쓸 수있는 권한이 없습니다! 심지어 나는 777 허가를 받았다.하지만 작동하지 않았다!/etc에있는 파일에 쓸 수있는 PHP는 쓸 수 없습니다.

chmod -R 777 /etc 

는 PHP scirpt 테스트 파일 읽기 나 쓰기 :

$file = "/etc/sysconfig/network-scripts/ifcfg-eth0"; 
$link = fopen($file,"r+"); 
echo $file,is_readable($file)?"yes":"no<br>"; 
echo $file,is_writable($file)?"yes":"no<br>"; 

결과를 읽을 수 및 쓰기가 불가능 :

/etc/sysconfig/network-scripts/ifcfg-eth0yes 
/etc/sysconfig/network-scripts/ifcfg-eth0no 

좀 suggesion을 줄 수있는 사람!

+1

해당 시스템 디렉토리의 권한을 변경하려면 루트 권한이 필요합니다. 그렇지 않으면 누군가가 코드를 작성하고 다른 사람의 시스템을 해킹 할 수 있습니다. – Rikesh

+0

/etc의 하위 폴더를 만들고 그 소유권을 PHP 사용자에게 줄 수 있습니까? –

+0

@Rikesh 나는 루트로 로그인한다! 나는 루트와 같은 디렉토리의 허가를 역시주고있다! – CoderFarmer

답변

0

파일 정보가 캐싱되었을 수 있습니다. 이 스크립트를 실행하여 작동 시키십시오. (the PHP documentation for more info를 참조하십시오.)

<?php clearstatcache(); ?> 

를 문제가 해결되지 않으면, 당신은 stat /etc/sysconfig/network-scripts/ifcfg-eth0의 결과가 쉘에있는 것을 우리에게 얘기를해야합니다.

chmod -R 777 /etc을 실행하지 마십시오. 기껏해야, 이것은 특정 권한을 기대하는 프로그램에 문제를 일으킬 수 있습니다. 최악의 경우 전체 시스템이 해커에 의해 손상 될 수 있으며 이미있을 수 있습니다. 이 서버를 계속 사용하는 대신 운영 체제를 새로 설치하는 것을 고려하십시오.

관련 문제