저는 웹 개발자입니다. 몇 사람에게 내 컴퓨터에 대한 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로 변경하거나 그룹 쓰기를 허용하세요.