서버 관리자가 디렉토리에 대한 공개 쓰기 권한을 설정하려고합니다. 실제로 원활하게 진행되지는 않습니다. 여기서 가장

나는 웹 개발에 비교적 익숙하지 않기 때문에 기다려주십시오.

저는 주로 iPhone 개발자이지만 최근에 다른 사람이 공유 호스팅을 사용하는 사이트를 만들었습니다. 권한에 대해 생각할 필요없이 해당 사이트의 PHP 파일에 쓸 수 있습니다.

나는 내가 만들고있는 새로운 앱을 위해 웹 서비스를 배포하는 과정에 있지만 실제로 원활하게 진행되지는 않습니다. 여기서 가장 중요한 차이점은 다른 사람의 서버를 사용하고 있으며 FTP / DB 액세스 권한 만 있다는 것입니다.

기본적으로 CMS를 구성하는 많은 PHP 파일이 있습니다.

mysite.com/admin/manage_news.php
mysite.com/admin/manage_events.php

그런 다음 해당 스크립트는 데이터베이스 또는 파일을 편집합니다. 그들은 DB와 잘 상호 작용할 수 있지만 스크립트는 파일 시스템에 쓸 수 없습니다. 예를 들어 다음 파일에 쓰려고 시도 할 수 있습니다.

mysite.com/data/img/event_1.png
mysite.com/data/somefile.txt

이것은 MAMP 설치 (로컬)에서 정상적으로 작동했지만 일단 서버에 배포되면 PHP는 쓰기를 시도 할 때마다 오류를 분출했습니다 …

쓰기 위해 파일 “../data/img/someimage.png”를 열 수 없습니다.

그래서 나는 서버를 운영하는 사람에게 이메일을 보냈고 그는 다음과 같이 말했습니다.

공공 허가로 작동합니까? (777)

그리고 그것은-그러나 나는 공공 허가를 사용하는 것에 매우 조심 스러웠으므로 즉시 다시 비활성화했습니다. “표준 사용자 권한을 사용하여 PHP 스크립트를 작성하려면 어떻게해야합니까?”라는 이메일을 보냈습니다.

공개로 남겨두면 괜찮을거야

도메인 해상도에서 IP 충돌이라고 생각하지만 걱정하지는 않습니다.

나는 그에게 “확실히 안전하지 않다”라고 말하거나 그 라인을 따라 뭔가를 이메일로 보냈고 그는 다음과 같이 대답했다.

실제로는 여러 폴더에 777이있는 여러 웹 사이트를 포함하여 수백만 개의 웹 사이트가 있으며 이는 삶의 방식 일뿐입니다.

누구든지 내가 그를 줄 수있는 해결책에 대한 아이디어를 줄 수 있습니까? 아니면 777을 사용하지 않으려면 어떻게해야합니까? 내 사이트 / 서비스의 모든 폴더가 공개적으로 작성 가능하다는 아이디어가 마음에 들지 않습니다.

웹 서버에 대해 거의 알지 못하므로 조언 해 주셔서 감사합니다.



답변

그것을 분해하자 :

디렉토리에서 읽고 실행하고 쓰려면 스크립트를 실행하는 사용자가 필요하므로 다음과 같아야합니다.

7 = (r) ead, (w) 라이트, e (x) ecute

같은 그룹에 속한 다른 사용자는 디렉토리 내에서 php 파일을 실행할 수는 있지만 쓸 수는 없습니다 (명백한 이유로). 반드시 PHP 파일을 읽을 필요는 없습니다. 따라서 실행 권한 만 제공하면됩니다.

1 = e (x) 급성

일반인도 마찬가지입니다. 실제로, 그것은 PHP와 정적 파일을 볼 필요가있는 외부 사용자에게 필요한 전부입니다 :

1 = e (x) 급성

따라서 최소값은 다음과 같아야합니다.

711

본인의 구성으로 위의 설정을 확인 했으므로 작동해야합니다. 그러나 이것은 기본 웹 사용자 아래에 있습니다. www가 아닌 ​​다른 로그인으로 업로드하는 경우 파일 및 디렉토리가 다른 사용자에있을 수 있습니다. 이 경우 기본 웹 사용자가 귀하가 소유 한 파일을 읽거나 쓰지 못할 수 있습니다. 이때 기본 웹 사용자를 그룹에 추가 한 다음 (sysadmin이이를 수행해야 함) 그룹에 속한 사용자에게 읽기, 쓰기 및 실행 권한을 부여해야합니다.

771

그리고 아마도 효과가있을 것입니다. 또는 sysadmin이 해당 파일의 사용자 및 그룹 소유권을 기본 웹 서버 사용자로 변경하도록하십시오 (그러나 권한은 아닙니다!). 그래도 작동하지 않으면 권한의 샘플 출력 (디렉토리 내의 “ls -la”와 같은 것)이 문제를 해결하는 데 도움이 될 것입니다. 또는 “기타”) 보안상의 관점에서 괜찮을 것입니다.


답변

Leave it as public, it'll be fine

I reckon it's an ip conflict somewhere in the domain resolution,
but I'm not worried about it.

이 녀석은 바보이고 이것은 완전 말도 안됩니다. 액세스 권한은 IP 주소 또는 도메인 확인과 아무 관련이 없으며 단어를 버리고 있습니다.

이 “관리자”의 품질을 고려할 때 사이트가 매우 열악하고 안전하지 않은 사이트 일 가능성이 높으므로 다른 사이트를 호스팅하는 것이 좋습니다. 777작동하도록 무언가 에 권한을 부여하는 것은 그가하는 일을 조금 이해하지 못한다는 확실한 신호입니다.

실제로 필요한 액세스 권한은 시스템의 사용 및 구성 방식에 따라 다르며이를 알지 못하고 무언가를 말하기는 어렵습니다.


답변