web-dev-qa-ko.com

Linux 웹 서버에서 내 웹 사이트 파일 / 폴더에 어떤 권한이 있어야합니까?

이것은 Linux 웹 서버의 파일 권한에 대한 Canonical Question 입니다.

여러 웹 사이트를 호스팅하는 Apache2를 실행하는 Linux 웹 서버가 있습니다. 각 웹 사이트에는/var/www /에 자체 폴더가 있습니다.

/var/www/contoso.com/
/var/www/contoso.net/
/var/www/fabrikam.com/

기본 디렉토리/var/www /는 root : root가 소유합니다. Apache는 www-data : www-data로 실행 중입니다. Fabrikam 웹 사이트는 Alice와 Bob의 두 개발자가 관리합니다. 두 Contoso 웹 사이트는 한 명의 개발자 인 Eve가 관리합니다. 모든 웹 사이트에서는 사용자가 이미지를 업로드 할 수 있습니다. 웹 사이트가 손상되면 가능한 한 영향이 제한되어야합니다.

Apache가 콘텐츠를 제공하고 웹 사이트가 공격으로부터 보호되며 개발자가 여전히 변경할 수 있도록 권한을 설정하는 가장 좋은 방법을 알고 싶습니다. 웹 사이트 중 하나는 다음과 같이 구성됩니다.

/var/www/fabrikam.com
    /cache
    /modules
    /styles
    /uploads
    /index.php

이 디렉토리와 파일에 대한 권한을 어떻게 설정해야합니까? 웹 사이트에서 777 권한을 사용해서는 안되는 곳을 읽었지만 어떤 문제가 발생할 수 있는지 이해하지 못합니다. 사용량이 많은 기간 동안 웹 사이트는 자동으로 일부 페이지를 캐시하고 결과를 캐시 폴더에 저장합니다. 웹 사이트 방문자가 제출 한 모든 컨텐츠는 업로드 폴더에 저장됩니다.

324
Nic

사용할 권한을 결정할 때는 사용자가 누구이며 필요한 것이 무엇인지 정확히 알아야합니다. 웹 서버는 두 가지 유형의 사용자와 상호 작용합니다.

Authenticated 사용자는 서버에 사용자 계정이 있으며 특정 권한을 제공 할 수 있습니다. 일반적으로 시스템 관리자, 개발자 및 서비스 계정이 포함됩니다. 일반적으로 SSH 또는 SFTP를 사용하여 시스템을 변경합니다.

Anonymous 사용자는 웹 사이트 방문자입니다. 파일에 직접 액세스 할 수있는 권한은 없지만 웹 페이지를 요청할 수 있으며 웹 서버가 대신 사용합니다. 웹 서버 프로세스의 권한에주의하여 익명 사용자의 액세스를 제한 할 수 있습니다. 많은 Linux 배포판에서 Apache는 www-data 사용자이지만 다를 수 있습니다. 사용하다 ps aux | grep httpd 또는 ps aux | grep Apache 시스템에서 Apache가 사용중인 사용자를 확인하십시오.


리눅스 권한에 대한 참고 사항

Linux 및 기타 POSIX 호환 시스템은 전통적인 유닉스 권한을 사용합니다. Wikipedia에 Filesystem permissions 에 대한 훌륭한 기사가 있으므로 여기에서 모든 것을 반복하지는 않습니다. 그러나 알아야 할 몇 가지 사항이 있습니다.

실행 비트
해석 된 스크립트 (예 : Ruby, PHP)는 실행 권한 없이도 제대로 작동합니다. 바이너리 및 셸 스크립트에만 실행 비트가 필요합니다. 디렉토리를 순회 (입력)하려면 해당 디렉토리에 대한 실행 권한이 있어야합니다. 웹 서버는 디렉토리를 나열하거나 그 안의 파일을 제공하려면이 권한이 필요합니다.

기본 새 파일 권한
파일을 만들 때 일반적으로 파일을 만든 사람의 그룹 ID를 상속합니다. 그러나 때로는 새 파일이 생성 된 폴더의 그룹 ID를 상속하기를 원하므로 부모 폴더에서 SGID 비트를 활성화해야합니다.

기본 권한 값은 umask에 따라 다릅니다. umask는 새로 작성된 파일에서 권한을 빼므로 공통 값 022는 755로 파일을 작성합니다. 그룹과 협업 할 때 umask를 002로 변경하여 작성하는 파일을 그룹 구성원이 수정할 수 있도록하는 것이 유용합니다. 그리고 업로드 된 파일의 권한을 사용자 정의하려면 Apache의 umask를 변경하거나 파일이 업로드 된 후 chmod를 실행해야합니다.


777의 문제

때를 chmod 777 귀하의 웹 사이트에는 보안이 없습니다. 시스템의 모든 사용자는 웹 사이트의 파일을 변경하거나 삭제할 수 있습니다. 그러나 더 진지하게, 웹 서버는 웹 사이트 방문자를 대신하여 작동하며 이제 웹 서버는 실행중인 파일과 동일한 파일을 변경할 수 있습니다. 웹 사이트에 프로그래밍 취약점이있는 경우이를 악용하여 웹 사이트를 손상 시키거나 피싱 공격을 삽입하거나 서버로부터 정보를 도용 할 수 있습니다.

또한 서버가 잘 알려진 포트 (루트가 아닌 사용자가 월드 액세스 가능한 청취 서비스를 생성하지 못하게해야 함)에서 실행되는 경우 서버는 루트로 시작해야합니다 ( 포트가 바인드되면 정상적인 서버는 권한이 적은 계정으로 즉시 드롭됩니다). 즉, 주 실행 파일이 버전 제어의 일부인 웹 서버를 실행하는 경우 (예 : CGI 앱) 사용자의 이름을 바꿀 수 있으므로 권한 (또는 그와 관련하여 포함 디렉토리의 권한)은 그대로 둡니다. 777에서 실행 파일) any 사용자가 any 실행 파일을 루트로 실행할 수 있습니다.


요구 사항 정의

  • 개발자는 웹 사이트를 업데이트 할 수 있도록 파일에 대한 읽기/쓰기 액세스 권한이 필요합니다
  • 개발자는 디렉토리에서 읽기/쓰기/실행이 필요하므로 탐색 할 수 있습니다.
  • Apache는 파일 및 해석 된 스크립트에 대한 읽기 액세스 권한이 필요합니다
  • Apache는 서비스 가능한 디렉토리에 대한 읽기/실행 액세스 권한이 필요합니다
  • Apache는 업로드 된 컨텐츠의 디렉토리에 대한 읽기/쓰기/실행 액세스 권한이 필요합니다

단일 사용자가 유지 보수

한 명의 사용자 만 사이트를 관리해야하는 경우 웹 사이트 디렉토리에서 사용자 소유자로 설정하고 사용자에게 전체 rwx 권한을 부여하십시오. Apache는 여전히 파일을 제공 할 수 있도록 액세스 권한이 필요하므로 www-data를 그룹 소유자로 설정하고 그룹 r-x 권한을 부여하십시오.

귀하의 경우, 사용자 이름이 eve 인 Eve는 contoso.com :

chown -R eve contoso.com/
chgrp -R www-data contoso.com/
chmod -R 750 contoso.com/
chmod g+s contoso.com/
ls -l
drwxr-s--- 2 eve      www-data   4096 Feb  5 22:52 contoso.com

Apache에서 쓰기 가능해야하는 폴더가있는 경우 www-data가 쓰기 액세스 권한을 갖도록 그룹 소유자의 권한 값을 수정할 수 있습니다.

chmod g+w uploads
ls -l
drwxrws--- 2 eve      www-data   4096 Feb  5 22:52 uploads

이 구성의 장점은 사용자와 그룹 소유자 만 웹 사이트 디렉토리를 탐색 할 수 있기 때문에 시스템의 다른 사용자가 스누핑하기가 더 어려워 지지만 불가능하지는 않다는 것입니다. 구성 파일에 비밀 데이터가있는 경우 유용합니다. umask에주의하십시오! 여기에 새 파일을 만들면 권한 값의 기본값은 755가됩니다. umask 027 새 파일의 기본값은 640 (rw- r-- ---).


사용자 그룹에 의해 유지 관리

둘 이상의 사용자가 사이트 유지 관리를 담당하는 경우 권한 할당에 사용할 그룹을 만들어야합니다. 각 웹 사이트마다 별도의 그룹을 만들고 해당 웹 사이트 이름을 따서 그룹을 지정하는 것이 좋습니다.

groupadd dev-fabrikam
usermod -a -G dev-fabrikam alice
usermod -a -G dev-fabrikam bob

이전 예에서는 그룹 소유자를 사용하여 Apache에 권한을 부여했지만 이제는 개발자 그룹에 사용됩니다. 사용자 소유자는 더 이상 우리에게 유용하지 않으므로 루트로 설정하면 권한이 유출되지 않는 간단한 방법입니다. 아파치는 여전히 액세스 권한을 필요로하므로, 우리는 다른 세계에 대한 읽기 권한을 부여합니다.

chown -R root fabrikam.com
chgrp -R dev-fabrikam fabrikam.com
chmod -R 775 fabrikam.com
chmod g+s fabrikam.com
ls -l
drwxrwxr-x 2 root     dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

Apache에서 쓰기 가능해야하는 폴더가있는 경우 Apache를 사용자 소유자 또는 그룹 소유자로 만들 수 있습니다. 어느 쪽이든, 필요한 모든 액세스 권한을 갖습니다. 개인적으로 개발자가 업로드 폴더의 내용을 탐색하고 수정할 수 있도록 사용자 소유자로 설정하는 것을 선호합니다.

chown -R www-data uploads
ls -l
drwxrwxr-x 2 www-data     dev-fabrikam   4096 Feb  5 22:52 uploads

이것이 일반적인 접근 방법이지만 단점이 있습니다. 시스템의 다른 모든 사용자는 웹 사이트에 대해 Apache와 동일한 권한을 가지므로 다른 사용자가 사이트를 탐색하고 구성 파일과 같은 비밀 데이터가 포함 된 파일을 쉽게 읽을 수 있습니다.

케이크도 먹을 수 있습니다

이것은 더 향상 될 수 있습니다. 소유자는 그룹보다 적은 권한을 갖는 것이 합법적이므로 루트에 할당하여 사용자 소유자를 낭비하는 대신 Apache를 웹 사이트의 디렉토리 및 파일에서 사용자 소유자로 만들 수 있습니다. 이것은 단일 유지 관리자 시나리오의 반대이지만 똑같이 잘 작동합니다.

chown -R www-data fabrikam.com
chgrp -R dev-fabrikam fabrikam.com
chmod -R 570 fabrikam.com
chmod g+s fabrikam.com
ls -l
dr-xrwx--- 2 www-data  dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

Apache에서 쓰기 가능해야하는 폴더가있는 경우 www-data가 쓰기 액세스 권한을 갖도록 사용자 소유자의 권한 값을 수정할 수 있습니다.

chmod u+w uploads
ls -l
drwxrwx--- 2 www-data  dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

이 솔루션에서주의해야 할 사항은 새 파일의 사용자 소유자가 www-data로 설정되지 않고 작성자와 일치한다는 것입니다. 따라서 생성 한 새 파일은 숨길 때까지 Apache에서 읽을 수 없습니다.


* 아파치 권한 분리

앞에서 언급 한 바에 따르면 사용중인 권한의 종류에 관계없이 다른 사용자가 웹 사이트를 스누핑 할 수 있습니다. 기본적으로 모든 Apache 프로세스는 동일한 www-data 사용자로 실행되므로 모든 Apache 프로세스는 동일한 서버에 구성된 다른 모든 웹 사이트에서 파일을 읽고 때로는 변경을 수행 할 수도 있습니다. Apache를 통해 스크립트를 실행할 수있는 모든 사용자는 Apache 자체와 동일한 액세스 권한을 얻을 수 있습니다.

이 문제를 해결하기 위해 Apache에서 권한 분리 에 대한 다양한 접근 방식이 있습니다. 그러나 각 방법에는 다양한 성능 및 보안 단점이 있습니다. 제 생각에는 보안 요구 사항이 더 높은 사이트는 공유 서버에서 VirtualHosts를 사용하는 대신 전용 서버에서 실행해야합니다.


추가 고려 사항

이전에 언급하지는 않았지만 일반적으로 개발자가 웹 사이트를 직접 편집하도록하는 것은 좋지 않습니다. 더 큰 사이트의 경우 버전 제어 시스템의 내용에서 웹 서버를 업데이트하는 일종의 릴리스 시스템을 사용하는 것이 훨씬 좋습니다. 단일 유지 관리 방법이 이상적 일 수 있지만 자동화 된 소프트웨어를 사용하는 사람이 아닙니다.

웹 사이트에서 업로드 할 필요가없는 업로드를 허용하는 경우 해당 업로드는 웹 루트 외부에 저장해야합니다. 그렇지 않으면 사람들이 비밀로 만든 파일을 다운로드하고 있음을 알 수 있습니다. 예를 들어, 학생들이 과제를 제출할 수있게하려면 Apache가 제공하지 않는 디렉토리에 과제를 저장해야합니다. 이것은 또한 비밀을 포함하는 구성 파일에 대한 좋은 접근 방법입니다.

보다 복잡한 요구 사항이있는 웹 사이트의 경우 액세스 제어 목록 을 사용하는 것이 좋습니다. 이를 통해 훨씬 더 정교한 권한 제어가 가능합니다.

웹 사이트에 복잡한 요구 사항이있는 경우 모든 권한을 설정하는 스크립트를 작성할 수 있습니다. 철저히 테스트 한 다음 안전하게 보관하십시오. 어떤 이유로 든 웹 사이트를 다시 만들어야하는 경우 금의 가치가 있습니다.

347
Nic

왜 많은 사람들이 아파치 (및/또는 PHP)를 할 수 있는지 제어하기 위해 리눅스 권한의 "기타"(o) 부분을 사용 (또는 권장)하는 이유가 궁금합니다. 이 올바른 부분을 "0"이외의 다른 것으로 설정하면 전 세계가 파일/디렉토리에서 무언가를 수행 할 수 있습니다.

내 접근 방식은 다음과 같습니다.

  • 분리 된 두 명의 사용자를 만듭니다. 하나는 SSH/SFTP 액세스 (필요한 경우)이며 모든 파일을 소유하고 다른 하나는 PHP FastCGI 사용자 (웹 사이트를 실행할 사용자))입니다. bobbob-www.
  • bob 폴더에 대한 모든 권한 (rwx, 파일에 rw-)이 있으므로 읽을 수 있습니다. 전체 웹 사이트를 수정하십시오.
  • PHP FastCGI 프로세스에는 rx 폴더에 대한 권한과 r- 다음과 같은 매우 특정한 폴더를 제외하고 파일에 대한 권한이 필요합니다. "$"코드가 필요한 cache/ 또는 uploads/ PHP FastCGI에게이 능력을주기 위해 bob-www로 실행되고 bob-www에 추가됩니다 자동 생성 된 bob 그룹.
  • 이제 모든 디렉토리와 파일의 소유자와 그룹이 bob bob인지 확인합니다.
  • 뭔가 빠졌습니다 : FastCGI를 사용하더라도 정적 콘텐츠 또는 Apache가 AllowOverrideNone 이외의 것으로 설정되어 있으면 읽으려고하는 읽기 액세스, 정적 컨텐츠 또는 .htaccess 파일이 필요합니다. 권한의 o 부분을 사용하지 않으려면 www-data 사용자를 bob 그룹에 추가합니다.

지금:

  • 개발자가 할 수있는 일을 통제하기 위해, 우리는 u 권리의 일부를 가지고 놀 수 있습니다 (그러나 아래 참고 사항).
  • Apache와 PHP 수행 할 수있는 작업을 제어하기 위해 권한의 g 부분으로 재생할 수 있습니다.
  • o 부분은 항상 0으로 설정되어 있으므로 서버의 어느 누구도 웹 사이트를 읽거나 편집 할 수 없습니다.
  • bob 사용자가 자동으로 주 파일 그룹 (bob)에 속하므로 새 파일을 만들 때 문제가 없습니다.

이것은 요약이지만이 상황에서는 bob이 SSH로 허용됩니다. 웹 사이트를 수정하도록 허용 된 사용자가 없어야하는 경우 (예 : 고객이 CMS 관리자 패널을 통해서만 웹 사이트를 수정하고 Linux 지식이없는 경우) 어쨌든 두 명의 사용자를 만들되 /bin/false를 셸로 지정하십시오. for bob 또한 로그인을 비활성화하십시오.

    adduser --home /var/www/bobwebsite --Shell /bin/bash bob
    adduser --no-create-home --Shell /bin/false --disabled-login --ingroup bob bob-www
    adduser www-data bob
    cd /var/www/bobwebsite
    chown -R bob:bob .
    find -type d -exec chmod 750 {} \;
    find -type f -exec chmod 640 {} \;

Note : 사람들은 u (소유자) 권한을 제한하는 것은 대부분의 시간이 쓸모없고 안전하지 않다는 것을 잊는 경향이 있습니다. chmod 명령, 심지어 권한은 000입니다.

100 % 확실하지 않기 때문에 내 접근 방식에 보안 문제가 있는지 알려주십시오.

이 설정에 문제가 있다고 생각합니다. PHP/Apache가 새 파일 (예 : 업로드)을 만들 때 bob-www : bob에 속하고 bob 만 읽을 수 있습니다. 디렉토리의 setuid가 문제를 해결할 수 있습니다.

14
Fox

위의 우수한 답변에 대한 Google 순위를 감안할 때 주목해야 할 것이 하나 있다고 생각하며 답변 후에 메모를 남길 수 없습니다.

이 예를 계속하여 디렉토리 (또는 파일)에 대한 570 권한을 가진 소유자로 www-data를 사용하고 dev-fabrikam을 그룹으로 사용하려는 경우 Linux는setuid이므로 모든 새 파일은 해당 파일을 만든 사용자가 소유합니다. 이것은 새로운 디렉토리와 파일을 만든 후에 다음과 비슷한 것을 사용해야한다는 것을 의미합니다.

chown -R www-data /newdirectory/
chmod -R 570 /newdirectory/

Rackspace OpenStack의 Ubuntu 12.04에서 서버를 재부팅 할 때까지 권한 570을 사용할 수없는 이상한 문제가 발생하여 마술로 문제가 해결되었습니다. 겉보기에 간단한 문제보다 머리카락이 점점 빨라지고 있습니다 ....

9
Paul

"leo"라는 FTP 사용자가 example.com 웹 디렉토리에 파일을 업로드해야하고 "Apache"사용자가 캐시 디렉토리에 uploa-files/sessions/cache 파일을 작성할 수 있어야하는 경우 다음과 같이하십시오.

이 명령은 leo를 소유자로, 그룹을 leo로 Apache.example.com에 할당합니다. Apache 사용자는 Apache 그룹의 일부이므로 Apache 그룹의 권한을 상속받습니다.

chown -R leo : 아파치 example.com

올바른 권한을 보장하고 보안 문제를 충족시키는 또 다른 명령.

chmod -R 2774 example.com

여기서 첫 번째 숫자 2는 디렉토리이며 생성 된 각 새 파일이 동일한 그룹 및 소유자 권한으로 유지되도록합니다. 77은 소유자 및 그룹 용이며 모든 권한을 갖습니다. 4는 다른 사람들을 위해 물마루 만 읽을 수 있다는 의미입니다.

다음은 허가 번호를 이해하는 데 도움이됩니다.

Number  Octal Permission Representation
0   No permission
1   Execute permission
2   Write permission
3   Execute and write permission: 1 (execute) + 2 (write) = 3
4   Read permission
5   Read and execute permission: 4 (read) + 1 (execute) = 5
6   Read and write permission: 4 (read) + 2 (write) = 6
7   All permissions: 4 (read) + 2 (write) + 1 (execute) = 7
3
Krishan Gopal

이 구성으로갑니다.

  1. 하나를 제외한 모든 디렉토리는 소유자 root 및 그룹 root (으)로 설정하고 0755에 대한 권한을 부여합니다.
  2. 모든 파일은 소유자 root 및 그룹 root, 0644에 대한 권한으로 설정되었습니다.
  3. 소유자 root, 그룹 www-data, 권한 1770에 설정된 디렉토리를 업로드합니다. 스티키 비트는 그룹 소유자가 디렉토리 및 파일을 제거하거나 이름을 바꿀 수 없습니다.
  4. Inside uploads 폴더에는 파일을 업로드하는 각 www-data 사용자에 대해 0700 소유자 사용자 및 그룹 및 www-data 권한이있는 새 디렉토리가 업로드됩니다.
  5. 아파치 설정 :

업로드 디렉토리에서 AllowOverrideIndex를 거부하여 Apache가 .htaccess 파일을 읽지 않고 Apache 사용자가 업로드 폴더의 컨텐츠를 색인 할 수 없도록합니다.

<Directory /siteDir>
   Options -Indexes
</Directory>

<Directory /siteDir/uploadDir>
   AllowOverride none
</Directory>

6. php.ini 구성 :

open_basedir = /siteDir:/tmp:/usr/share/phpmyadmin
post_max_size = 5M
file_uploads = On
upload_max_filesize = 3M
max_file_uploads = 20

이 구성을 사용하면 www-data 사용자는 siteDir//tmp/usr/share/phpmyadmin 이외의 디렉토리에 들어갈 수 없습니다. 또한 동일한 요청으로 업로드 할 최대 파일 크기, 최대 게시물 크기 및 최대 파일을 제어 할 수 있습니다.

3
Manolo

IMO는 다음을 고려해야합니다.

  • 파일을 읽는 프로세스를 신뢰하십니까? 예. PHP?

사용자가 '테스트'하는 다양한 데이터가있는 서버가 있다고 가정 해 봅시다.

'테스트'사용자에게는 다음이 있습니다.

  • 그의 데이터는 $HOMEDIR
  • 그의 메일은 $MAIL
  • /var/www/test에 웹에 대한 그의 데이터

이제 생각 해보자 :

  • 웹 응용 프로그램은 test 사용자 (PHP-FPM)에서 실행되며 그의 파일을 삭제할 수 있습니다!
  • 웹 응용 프로그램은 test 그룹 (PHP-FPM)에서 실행됩니다. 디렉토리에 그룹에 대해 'w'가있는 파일을 삭제하고 그룹에 대해 'r'이있는 파일을 수정할 수 있습니다. 그리고 여전히 읽을 수 있습니다-예를 들어 ssh 키!

PHP 버그가 있다고 가정 해 봅시다. 그리고 open_basedir를 믿습니까? chroot your PHP 프로세스 ? 당신은 무엇을하지 않습니까, 모든 파일 시스템을 통해 크롤링하기를 원합니까?

귀하의 웹앱 프로세스, 예 : PHP-FPM은 다음과 같아야합니다.

  • chroot를 통해 특정 경로로 제한됩니다
  • 데이터 소유자의 기본 사용자 또는 기본 그룹 권한으로 실행해서는 안됩니다

따라서 당신은 할 수 있습니다 :

  • 테스트 사용자 : test:test
  • 테스트 사용자가 보조 그룹에 있습니다 (예 : test-www
  • 웹 앱 (PHP-FPM)은 test-www:test-www에서 실행됩니다.
  • 웹 앱에서 파일을 읽을 수있게하려면 사용자를 테스트하십시오. chmod u=rwX,g=rX,o= /var/www/test/public
  • 웹 응용 프로그램이 자신의 웹 데이터 경로에 chmod u=rwX,g=rwXs,o= /var/www/test/public/upload를 쓸 수 있도록하려면 사용자를 테스트하십시오 (따라서 응용 프로그램은 test-www:test-www와 같이 새 파일을 생성합니다. 디렉토리에!)

따라서 웹 앱 프로세스가 허위 일 경우 그룹 읽기가 필요한 특정 파일 만 읽고 upload dir에만 쓸 수 있습니다. noexec,nodev,nosuidupload 옵션을 사용하여 파일 시스템에 mount dir을 지정하고 해당 디렉토리의 새로운 bizzare 파일을 지속적으로 모니터링하고 새로운 프로세스도 모니터링하는 것이 좋습니다. test-www uid 아래에 있습니다.

Linux에서는 ACL을 사용하여 권한을 더 잘 조정할 수 있습니다. 여러 사람이 웹 데이터를 업로드해야하는 경우 웹 데이터 파일을 업로드하는 데 사용 된 계정과 사람 계정을 분리하는 것이 좋습니다. 예를 들어 새 계정을 만들려면 test-upload, 테스트 사용자는 ssh 키를 관리하여 어떤 사람이 ssh/sftp를 사용할 수 있는지 제한합니다. sshd_configExposeAuthInfo 옵션을 알고 있으므로 데이터를 업로드하는 데 사용 된 ssh 키를 기록하도록 구성 할 수 있습니다.

나는 대부분의 웹 호스팅 서비스가 권한 분리에 대해 신경 쓰지 않는다는 것을 의심합니다.

1
Jiri B