루트 및 웹 서버에서만 /var/www에 액세스할 수 있도록 설정

루트 및 웹 서버에서만 /var/www에 액세스할 수 있도록 설정

저는 웹 개발자입니다. 몇 사람에게 내 컴퓨터에 대한 SSH 액세스를 허용하겠습니다.

그 사람이 내 파일에 액세스할 수 없도록 하고 싶습니다 /var/www/.

그렇다면 이러한 파일을 웹 서버에서만 읽을 수 있도록 하고 루트 사용자에게 읽기/쓰기 액세스 권한을 부여하는 것이 가능합니까?

답변1

나는 Apache 사용자가 이라고 가정합니다 www-data. 이 사용자만 파일을 읽을 수 있게 하려면 /var/www/소유권을 부여해야 합니다.

sudo chown -R www-data /var/www/

www-data이제 실제로 읽고 쓸 수 있는 유일한 사용자가 되기를 원합니다 .

sudo chmod -R 700 /var/www/

root권한에 관계없이 항상 모든 파일에 대한 읽기/쓰기 액세스 권한을 갖습니다 . 이 설정이 좋은 아이디어인지 아닌지 – 글쎄요, 저는 SSH 사용자를 홈 폴더로 루트하는 편이 낫습니다. 보다특정 디렉터리에만 액세스할 수 있는 SSH 사용자를 만들 수 있나요?

답변2

웹 서버 사용자(일반적으로 www-data)에 따라:

chown www-data /var/www
chmod -R 700 /var/www

그러면 www-data 사용자가 /var/www 디렉토리의 소유자로 설정되고 소유자에게만 디렉토리에 액세스할 수 있게 됩니다.

답변3

루트나 다른 사용자를 웹 콘텐츠의 소유자로 만들고 싶을 수도 있습니다. 이렇게 하면 누군가가 스크립트나 다른 진입점을 통해 액세스 권한을 얻는 경우 웹 서버가 콘텐츠를 덮어쓰는 것을 방지할 수 있습니다. root이 명령을 콘텐츠를 소유하려는 사용자로 바꾸세요 .

chown -R root:www-data /var/www
chmod 2750 /var/www

루트 이외의 사용자가 콘텐츠를 유지하도록 허용하려면 user사용자를 www-data 그룹에 추가해야 합니다.

adduser user www-data

일부 웹 애플리케이션에는 동적 콘텐츠를 작성하는 디렉터리가 있을 수 있습니다. 액세스를 허용하려면 소유자를 www-data로 변경하거나 그룹 쓰기를 허용하세요.

관련 정보