답변:
chmod와 유닉스 파일 권한이 어떻게 작동하는지 착각하고있다.
로그인 한 사용자에게 쓰기 권한이 있도록 / opt / lampp / htdocs 디렉토리를 구성해야합니다. 또한 LAMPP가 사용하는 웹 서버 (LAMP에 익숙하지 않다.)를 사용하여 거기에 쓰는 내용을 읽을 수 있어야한다.
먼저 / opt / lampp / htdocs를 소유하고있는 사람을 확인해야합니다.
$ ls -ld /opt/lampp/htdocs
다음과 같이 반환해야합니다.
drwxr-xr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs
첫 번째 비트 (dwrxr-xr-x)는 파일 권한입니다. "lampp"는 디렉토리의 소유자이고 "www"는 디렉토리의 그룹 소유자입니다. 이것에주의해야합니다.
먼저 그룹을 정렬합시다. 그룹이 "루트"를 제외한 다른 것이라면 모두 잘되고 잘되었습니다.이 섹션을 건너 뛸 수 있습니다 :
그것이 "뿌리"라면 더 현명한 변화가 필요합니다. 소속 그룹을 새로 만들어 보겠습니다.
$ sudo groupadd www
그런 다음 디렉토리에서 그룹을 변경하십시오.
$ sudo chgrp -R www /opt/lampp/htdocs
이제 웹 서버를 www 그룹으로 실행해야합니다. 웹 서버가 Apache 인 경우 /etc/apache/httpd.conf 파일을 확인하고 적절하게 "그룹"설정을 편집해야합니다. 나는 다른 웹 서버에 대한 설정을 모른다.
이제 루트에서 다른 그룹으로 그룹을 전환 할 필요가 없다면 건너 뛸 곳입니다.
이제 디렉터리에 대한 사용 권한을 지정해야합니다. 우리는 "setgid"비트라고하는 매우 특별한 권한을 사용하려고합니다.
$ sudo chmod 2775 /opt/lampp/htdocs
$ ls -ld /opt/lampp/htdocs
drwxrwsr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs
이제 권한이 다소 변경된 것을 볼 수 있습니다. 이것들을 설명합시다.
그룹 권한의 "s"는 "setgid"비트라고합니다. 이것은 디렉토리에 생성 된 모든 파일을 디렉토리 자체에서 그룹 소유자에게 상속시키는 특수 권한입니다. 따라서 "users"그룹의 사용자 "fred"가 파일을 만들면 "www"그룹의 "fred"가 소유하게됩니다. 이는 여러 사람이 모두 동일한 파일을 읽고 쓰는 공유 영역에 매우 유용합니다.
그러나 여전히 당신은 그 영역에 글을 쓰는 능력이 없습니다. 왜? 왜냐하면 당신은 "www"그룹에 속해 있지 않기 때문입니다. 지금 바로 잡아 보자.
$ sudo usermod -aG www blub
"www"를 처음에 기록한 / opt / lampp / htdocs 디렉토리의 그룹 소유자로 바꿉니다.
이 변경 사항을 적용하려면 로그 아웃하고 다시 로그인해야합니다. 로그인시 그룹 구성원을 읽습니다.
일단 그렇게하면 갑자기 / opt / lampp / htdocs에 파일을 마술처럼 쓸 수 있습니다.
시스템에 다른 사용자가 쓰기를 허용하려면 해당 사용자를 www 그룹에 추가하기 만하면됩니다. usermod -aD www <username>
명령.
check the /etc/apache/httpd.conf file and edit the "Group" setting accordingly
....이 디렉토리에 쓸 수있는 권한이 없기 때문에이 파일을 편집 할 수 없습니다! 같은 문제 ..
cd /opt/lampp
그때 sudo chmod 777 -R /opt/lampp/htdocs
이 간단한 터미널 명령은 나에게 완전한 권한을주었습니다. htdocs
PHP 프로젝트 작업을 시작할 수있었습니다.
sudo chmod 777 -R /opt/lampp/htdocs
모하메드 (Muhammed)의 의견에 비추어 볼 때, sudo chmod 755 -R /opt/lampp/htdocs
어느 쪽이든 + rw 또는 8 진수를 사용합니다. 둘 다 아닙니다.
지금하려는 것은 / opt / lampp / htdocs뿐만 아니라 755라는 디렉토리에서 읽기 및 쓰기 권한을 제거하는 것입니다.
어쨌든 xampp을 사용해서는 안됩니다. 램프 스택을 최신 상태로 설치할 수 있습니다. tasksel을 사용하여 설치할 수 있습니다.