개인 개발을 위해 VirtualBox에 LAMP 서버를 설정하고 있습니다. 이것은 Ubuntu Server 12.04 설치가 될 것이며 Drupal, Yii 및 기타 소규모 PHP 애플리케이션에 가상 호스팅을 사용할 것입니다. 이상적으로는 새로운 가상 호스트를 생성하는 것을 피하고 /var/www
대신 public_html
사용자 폴더 아래에 생성하도록 선택하고 싶습니다.집목차.
홈 디렉터리에서 이러한 응용 프로그램을 "호스트"하기 위해 다른 사용자(루트가 아닌 사용자)를 생성하면 어떤 이점이 있습니까? 아니면 설정 중에 생성된 루트 사용자로 충분합니까? 나는 이 질문을 하는 것이 약간 현학적이라는 것을 알고 있지만 이는 개인 개발을 위한 LAMP 서버 설정에 대한 다른 웹사이트(URL이 기억나지 않음)에서 본 조언을 기반으로 합니다. 나는 이것이 프로덕션 환경에서만 중요하다고 생각합니다. 권한, 보안 등에 대해 생각하고 있습니다.
편집하다: 루트 사용자를 사용하면 문제가 발생합니까? 아니면 루트가 아닌 새 사용자를 만드는 것이 더 안전합니까?
편집 2: 이 글을 비추천하지 마세요! 저는 아직 Linux 학습 경로에 있기 때문에 이 점을 명확히 하고 싶습니다. :)
답변1
네트워크를 통해 액세스할 수 있다면 그렇습니다. Apache가 public_html에 액세스하려면 루트의 홈 디렉터리에 대한 일정 수준의 액세스 권한이 필요합니다(소프트웨어 취약점이나 안전하지 않은 구성을 통해 루트의 홈 디렉터리에 무언가를 추가하는 방법을 찾은 경우 이는 재앙이 될 수 있습니다 .bash_profile
).
루트가 아닌 계정에서는 가능한 한 적게 실행하십시오. 루트가 아닌 계정으로 작업을 실행하는 것은 "높은 보안" 예방 조치가 아니며 모든 비밀번호를 해당 사용자 이름과 동일하게 설정하지 않는 것과 같은 방식으로 매우 기본적인 예방 조치입니다. 홈 시스템에서도 여전히 공격을 받을 수 있습니다. 내 개인 공용 웹서버와 sshd는 외부 소스로부터 지속적으로 공격을 받습니다(누구에게도 그것이 존재한다고 말할 필요도 없습니다). IP는 일반적으로 남미나 중국에서 종료됩니다. NAT 및 방화벽 뒤에 있더라도 시스템은 여전히 표적이 될 수 있습니다.
네트워크를 통해 액세스할 수 없는 경우 개인 개발이 일종의 프로덕션 시나리오에서 작업하게 될 제약 조건을 반영해야 한다는 점을 제외하면 이 질문은 대체로 무의미합니다. "프로덕션"이 되지 않더라도 제대로 작동하기 위해 안전하지 않은 구성이 필요한 응용 프로그램을 실수로 개발하지 않도록 안전 장치를 마련해 두는 것이 좋습니다.
편집하다:
또 다른 요점: 루트의 홈 디렉토리 외부에서 VHost를 제공하는 경우 이는 또 다른 매우 기본적인 보안 요구 사항인 루트로 직접 로그인되었음을 의미합니다. PermitRootLogin no
in sshd_config
또한 타당한 이유가 없는 한 유효한 구성이어야 합니다.