"eclipse"에서 새 파일을 생성할 때마다 r/w 권한을 얻으려면 다음 두 줄의 코드를 실행해야 합니다.
chmod -R 775 /var/www/folder/filename.extension
그리고/또는
sudo chown -R www-data:www-data /var/www
그리고 해당 서버 폴더에 일부 파일을 복사하고 다음과 같은 브라우저 URL에서 액세스하면 다음과 같습니다.
localhost/folder/filename.extension
Apache 서버에서 권한 오류가 발생합니다.
이 문제를 해결할 수 있는 방법은 없을까요?
*메모:move_uploaded_file()
내 기능이 파일을 /var/www/MyProject/
디렉터리 로 이동하려고 할 때 주요 오류가 발생합니다 .
답변1
SGID 비트를 사용하십시오.
이 작업을 한 번만 수행하고 이 문제는 잊어버리세요.
chmod g+s /var/www/folder
모든 하위 폴더에 대해 동일한 작업을 수행할 수 있습니다.
find /var/www/folder -type d | xargs chmod g+s
그리고 만일의 경우에 대비해:
find /var/www/folder -type d | xargs chgrp www-data
이제 생성된 모든 파일은 /var/www/folder/
무슨 일이 있어도 해당 폴더를 소유한 그룹에 속하게 됩니다. 이를 통해 파일이나 폴더가 속하지 않을 것이라는 걱정 없이 파일이나 폴더를 생성할 수 있습니다.www-데이터그룹, 당신이 원하는 것입니다.
이는 디렉터리 내에 생성된 파일이나 폴더에만 적용된다는 점에 유의하세요. 파일이 다른 곳에서 생성되어 디렉터리 트리로 이동된 경우에도 소유권을 수동으로 변경해야 합니다.
예:
# Create folder that belongs to www-data group
$ mkdir test
$ chown john.www-data test
$ ls -l
drwxr-xr-x 2 john www-data 4096 Jun 17 10:14 test
# Create a file, check the ownership
$ touch test/file1
$ ls -l test/
-rw-r--r-- 1 john users 0 Jun 17 10:16 file1
# Set the SGID bit
$ chmod g+s test
$ ls -l
drwxr-sr-x 2 john www-data 4096 Jun 17 10:19 test
# Create a file, check the ownership
$ touch test/file2
$ ls -l test/
-rw-r--r-- 1 john users 0 Jun 17 10:18 file1
-rw-r--r-- 1 john www-data 0 Jun 17 10:19 file2
더 많은 정보여기.
답변2
새 파일 및 디렉터리에 사용자 및 그룹 권한을 할당하기 위해 기본 ACL을 사용할 수 있습니다.
setfacl -dR u:domain:rwx,g:www-data:rwx /var/www/folder/filename.extension
답변3
먼저, 질문을 할 때는 좀 더 구체적이어야 한다는 점을 지적하고 싶습니다. 예를 들어, 어떤 OS, Linux 배포판을 사용하고 계시나요? 그러면 솔루션을 찾는 과정이 크게 단축될 수 있습니다. 그렇긴 하지만, 특정 폴더의 위치를 변경하여 문제 해결을 시작할 수 있습니다.소유권그리고UAC(사용자 액세스 제어) 다음과 같이 재귀적으로:
chown domain:www-data /var/www/folder -chR
chmod 775 /var/www/folder -cR
메모: 후행 슬래시를 제외하여(/)폴더 이름 끝에 변경 사항이 폴더와 폴더의 모든 내용에 적용됩니다.
브라우저에서 파일(스크립트?)에 액세스할 때 발생하는 권한 오류에 대해서는 사용자가 apache
. 파일을 편집하고 다음을 추가하면 문제가 해결됩니다 /etc/httpd/*/httpd.conf
.
User domain
Group www-data