>> Edit article
이름
제목
패스워드
같은 시스템을 쓰느 사용자라도 상관없습니다. 위의 질문은 웹서비스를 하나만 하는것 같더군요. 그렇다면 nobody 와 같은 그룹을 아무것도 안만들면 해결되지요. 권한은 디렉토리를 포함해서 770 이었으니까 그외의 사용자는 접근조차 할 수 없죠. 따라서 아래의 스크립트를 올릴 수도 없구요. 님께서 말씀 하신내용은 웹호스팅과 같이 여러 홈페이지를 운영하는 사이트에서 발생하는 문제지요. 그에 대한 해결책은 전에 적수님이올리신 글이 있습니다. 한번 읽어 보시죠. http://linux.sarang.net/board/?p=read&table=tip&no=993&o[at]=s&o[sc]=n&o[ss]=%C0%FB%BC%F6&o[st]=a : 같은 시스템을 쓰는 사용자에겐 말씀하신 방법도 속수무책이죠. ^^; : : A 사용자가 다음과 같은 PHP 스크립트(cat.php)를 하나 만들어서 B 사용자 경로에 있는 dbpass.php 라는 파일을 웹브라우져(nobody 권한)로 읽어들이면? : : <? : if ($file != "") { : $f = fopen($file, "r"); : header("Content-type: text/plain"); : print fread($f, filesize($file)); : fclose($f); : } : ?> : : http://domain/cat.php?file=/home/httpd/html/dbpass.php : http://domain/cat.php?file=/etc/passwd : : 타인의 계정은 물론 시스템 설정파일 등도 nobody에게 읽기가 허용된 파일들은 죄다 노출될 수 있겠지요. : : : : : 권한설정과 사용자만 제대로 설정하시면 안전합니다. : : 보통 linux를 쓰시면 web 사용자는 nobody 로 접근을 해서 일반 html 문서나 : : cgi, php등의 프로그램을 실행합니다. : : 따라서 모든 web 관련 파일의 소유권을 nobody 로 하시고 권한을 770 등으로 : : 소유권자와 같은 그룹 사용자에게만 모든 권한을 주면 됩니다. : : 이만... : : : : : : : 예를들어 php로 게시판을 만들었는데.. : : : 이것이 /home/httpd/html/board.php3 라고 하는 파일이라면.. : : : 이것을 일반 계정을 가진 사람이 들어와서 보면 : : : 소스파일을 볼 수가 있던데.. : : : 이렇게되면 DB접속 암호를 알 수 있지 않나요? : : : 이것을 막는 방법은 없나요? : : : 그렇다구 접근권한을 막아놓자니.. : : : 웹서비스가 안되구... : : : 그럼 답변기다리겠습니다. : : : 이만... : : : : -- : : 이 곳에 서명을 적어주십시오. : : ....--이 곳에 서명을 적어주십시오. ....
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved