어떤 이유로 웹사이트에 업로드하면 Apache는 파일을 user www-data
및 group www-data
대신 user myusername
및 group 으로 저장합니다 www-data
.
어떻게 해결할 수 있나요?
답변1
Apache는 파일이 실행되는 사용자이기 때문에 파일을 www-data로 저장합니다.보안상의 이유.
당신이 할 수 있는 일은 사이트에 대한 특정 사용자와 그룹을 생성하고 mod-ruid2를 사용하여 해당 사용자를 사용하도록 가상 호스트를 구성하는 것입니다.
설치 방법:
sudo apt-get install libapache2-mod-ruid2
가상 호스트에서 구성하십시오.
<Directory "/var/www/mydir">
RMode config
RUidGid my_new_user my_new_group
각 가상 호스트에는 서로 다른 사용자가 있을 수도 있습니다. 이는 다중 가상 호스트 서버(예: 여러 사용자가 있는 다중 호스트 구성)에서 유용하거나 가상 호스트가 스팸을 보내는지 여부를 확인하는 데 유용할 수 있습니다.
https://www.jamroom.net/brian/documentation/guides/1202/configuring-apache-with-mod-ruid2
파일 소유권에 관해서는 계속 읽어보세요.
가상 호스트의 디렉토리에서 setuid 또는 SetGid 디렉토리를 사용하여 이를 구성할 수도 있으며 일반 사용자로 유지하고 해당 그룹에 속하는 모든 파일은 일반 사용자가 아닌 해당 그룹 또는 사용자에게 강제로 할당됩니다. 그룹.
사용자 소유권을 강제하려면 다음 단계를 따르세요.
chown my_new_user.my_new_group /var/www/mydir
디렉토리의 UID 설정
chmod u+s /var/www/mydir
디렉토리의 GID 설정
chmod u+g /var/www/mydir
답변2
User
어디에서 사용하든 관계없이 구성에서 다양한 구성을 지정할 수 있어야 합니다 .
예:
<VirtualHost 12.34.56.78>
User myusername
</VirtualHost>
답변3
방금 해결책을 찾았습니다. 어느 것이 가장 좋은지 확실하지 않지만 이것이 내가 한 일이며 잘 작동하는 것 같습니다.
sudo nano /etc/apache2/envvars
다음 줄을 편집합니다.
export APACHE_RUN_USER=myusername