Linux 사용자 권한 문제

Linux 사용자 권한 문제

"eclipse"에서 새 파일을 생성할 때마다 읽기/쓰기 권한을 얻으려면 다음 두 줄의 코드를 실행해야 합니다.

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

우선, 예를 들어 어떤 운영 체제, Linux 배포판을 사용하고 있는지 질문할 때 더 구체적이어야 한다는 점을 지적하고 싶습니다. 이렇게 하면 솔루션을 찾는 과정이 크게 빨라질 수 있습니다. 그렇게 말하면, 당신은 변경할 수 있습니다소유권그리고공동지원센터(사용자 액세스 제어)를 다음과 같이 반복적으로 수행합니다.

chown domain:www-data /var/www/folder -chR

chmod 775 /var/www/folder -cR

노트: 후행 슬래시를 제외하여(/)폴더 이름 끝에는 변경 사항이 폴더와 해당 폴더의 모든 내용에 적용됩니다.


브라우저에서 파일(스크립트?) 에 액세스할 때 발생하는 권한 오류는 사용자가 apache./etc/httpd/*/httpd.conf

User domain
Group www-data

관련 정보