2012-07-18 3 views
0

실제 공유 서버의 실행 가능 권한과 읽기 권한의 차이는 무엇입니까? 즉, 웹 방문자가 수행 할 수있는 작업 (예 : PHP 파일)과 정확히 얼마나 관련이 있습니까? 예를 들어 godaddy 공유 호스팅을 사용하면 기본 사용 권한 아래에서 웹 사용자를 읽을 수 없지만 실행 가능할 경우 읽기 가능하지만 실행 가능하지 않은 경우와 동일한 결과가 발생합니다. 즉 PHP 파일이 실행됩니다. 또한, 공유 리눅스 서버에서 정확히 웹 사용자에게 쓰기 권한을 부여하는 사람 - 서버 로그인에 액세스 할 수는 없지만 브라우저를 통해 페이지를 방문하는 사람은 무엇입니까?리눅스 호스트 사용 권한 공유 서버

답변

1

기본 대답은 다음과 같습니다. 웹 사이트 방문자는 PHP 나 다른 파일에 직접 액세스하지 않습니다. 그들은 HTTP 요청을 컴퓨터 (예 : 아파치)에서 서버 서비스 (와우, 끔찍한 표현)로 보냅니다. 그러면 아파치가 페이지를로드하고 PHP 등을 실행합니다. 따라서 권한을 변경하는 경우 변경할 수있는 권한 Apache 계정 (배포판에 따라 nobody 또는 www-data 중 하나 일 수 있음)이이 파일에 어떤 사용 권한을 가지고 있는지 알려줍니다. 사용 권한이 실제로 무엇인지에 관해서는 this Wikipedia page이이를 잘 설명합니다.

Linux 상자가 있으면 직접 테스트 할 수 있습니다. 파일이 들어있는 디렉토리를 가져 와서 sudo chmod -R 744. 그런 다음 ls -l으로 시도해보십시오. 파일 이름을 볼 수는 있지만 파일에 대한 다른 정보는 볼 수 없습니다 (내용을 포함하여 - 해당 디렉토리의 모든 파일에 nano 파일이 생성 됨).

1

모든 것은 웹 서버를 거쳐야하기 때문에 웹 서버가 원하는 것에 의존한다는 것을 기억해야합니다. 디스크에서 파일을 읽는 것과는 다릅니다. 따라서 "index.php"또는 "index.cgi"를 요청하면 파일 내용을 읽지 않습니다. 웹 서버는 요청한 파일이 프로그램임을 확인하고 프로그램을 실행합니다. 파일 내용을 출력하는 대신 프로그램이 출력 한 내용을 출력합니다. 이것은 단순히 설정이며 사용 권한과는 아무런 관련이 없습니다. 또한 공유 호스팅 계정을 사용하는 경우이 설정을 변경할 수있는 권한이 없습니다.

공유 Linux 서버에서 파일을 쓸 수있는 것이 정확히 무엇입니까 [...]?

HTTP로 "쓰기 가능"파일을 만들 수 없습니다. 다시 말하지만 로컬 드라이브의 파일 시스템에 액세스하는 것과는 다릅니다. 파일 업로드를 처리 할 수있는 서버 측 프로그램을 만들 수 있지만 권한과는 아무런 관련이 없습니다.

나는 그것이 당신이 의미 한 바램입니다. 네가 뭔가 다른 것을 의미하는지 알려주지.