FTP 및 Apache에 대한 권한 구성


10

FileZilla로 액세스하는 웹 서버 (Apache2)가 있습니다.

내 웹 서버에는 / var / www에 바인딩 된 dir / home / admin / www가 있습니다. FTP로 액세스 할 수 있습니다. 이것은 완벽하게 작동합니다!

그러나 웹 서버를 다시 시작할 때마다 바인딩을 반복해야합니다. 웹 서버에 해당 맵을 항상 바인딩해야한다고 말할 수 있습니까? 또한 매번 다시 모든 권한을 재설정해야합니다. 무엇을 잘못하고 있습니까?

답변:


13

더 좋고 더 안전한 솔루션 (인터넷이 관리자 홈 폴더에 액세스하는 것이 불안해집니다!)은 /에 웹 루트 폴더를 만드는 것입니다

터미널 시간!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

이제 아파치가 아파치 설정의 맨 아래에있는 새 문서 루트 / webroot를 가리 킵니다. /etc/apache2/apache2.conf에서 찾을 수 있습니다.

sudo nano /etc/apache2/apache2.conf

CTRL-O로 저장, CTRL-X는 익숙하지 않은 경우 나노로 종료됩니다.

간단하게 교체 DocumentRoot /var/www/와 함께/webroot/

이제 웹 파일을 webroot에 복사하십시오.

sudo /etc/init.d/apache2 reload

모든 구성이로드 된 상태에서 Apache가 다시 시작되었습니다.

이것은 루트에 apache2가 소유 한 webroot라는 디렉토리를 작성했으며, 그룹 소유자는 새 그룹 webdev이며, 이제 사용자가 구성원에 추가됩니다 (이는 그룹을 대체하지 않습니다!). FTP에서 파일을 편집 할 수 있습니다!

이것은 하나의 웹 사이트 아파치 서버를위한 매우 간단한 솔루션입니다. 여러 사이트를 실행하려는 경우 (예 : webroot에서 별도의 폴더 생성) 더 많은 작업이 필요합니다.

이것의 장점은 누군가가 취약점을 발견하면 홈 폴더가 아닌 웹 루트 폴더에 잠겨 있다는 것입니다. 또한 더 많은 사용자가 사이트를 수정하도록 허용해야하는 경우 다음을 사용하여 사용자를 webdev 그룹에 추가 할 수 있습니다.sudo usermod -a -G theirusername webdev

도움이 되었기를 바랍니다!

친절한 관계


문제가되지 않습니다 :) 내가 주어진 답변을 더 잘 반영하도록 제목의 이름을 바꾸면 괜찮습니까?
Laice


어떤 이유로 든 내가 명령을 사용했을 때 그런 사용자 webdev를 얻지 못했습니다. 어쨌든 / etc / group 파일에 사용자를 추가했습니다. sudo를하고 usermod -a wwwlogin -G 경우 Webdev
브나야

이것은 내 잘못이었습니다. 제 대답에서 실수로 사용자와 그룹을 전환했습니다. 이것은 Damon에 의해 수정되었습니다.
Laice

@Damon, 소유자 (www-data)와 그룹 (webdev)이 디렉토리와 같은 권한을 갖도록 적절한 권한을 설정해야한다고 생각합니다. 디폴트는 775 (기본 755 대신) 및 664 (644 대신) ) 파일입니다.
Eduardo B.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.