우분투에서 htdocs에 폴더를 만들 수 없습니다.


4

어떻게 권한을 설정할 수 있습니까? "새 폴더 만들기"옵션이 회색으로 표시됩니다. 나는 이것을 시도했다 : sudo chmod -rw / opt / lampp / htdocs

하지만 여전히 작동하지 않습니다. sudo chmod -rw 755 / opt / lampp / htdocs를 추가하면, 그것은 말합니다 : "755"그런 파일이나 디렉토리가 없습니다


1
혹시 "chmod -R 777 / opt / lampp / htdocs"를 시도해 보셨습니까?
HTDutchy

답변:


15

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

이제 권한이 다소 변경된 것을 볼 수 있습니다. 이것들을 설명합시다.

  • 첫 번째 문자는 파일 유형입니다. 이 경우 "d"는 디렉토리 용입니다.
  • 다음 세 개의 "rwx"는 소유자 (lampp)가 직접 연결에 대해 가지는 사용 권한입니다. r = 읽기, w = 쓰기 및 x = 디렉토리 내용보기.
  • 다음 세 개의 "rws"는 그룹 소유자 (www)에 대한 것이지만이 경우 x는 실제로 s입니다.
  • 마지막 세 개의 "r-x"는 다른 모든 사람들을위한 것입니다. 그것은 읽혀지고 디렉토리의 내용을 봅니다. 쓰지 마라.

그룹 권한의 "s"는 "setgid"비트라고합니다. 이것은 디렉토리에 생성 된 모든 파일을 디렉토리 자체에서 그룹 소유자에게 상속시키는 특수 권한입니다. 따라서 "users"그룹의 사용자 "fred"가 파일을 만들면 "www"그룹의 "fred"가 소유하게됩니다. 이는 여러 사람이 모두 동일한 파일을 읽고 쓰는 공유 영역에 매우 유용합니다.

그러나 여전히 당신은 그 영역에 글을 쓰는 능력이 없습니다. 왜? 왜냐하면 당신은 "www"그룹에 속해 있지 않기 때문입니다. 지금 바로 잡아 보자.

$ sudo usermod -aG www blub

"www"를 처음에 기록한 / opt / lampp / htdocs 디렉토리의 그룹 소유자로 바꿉니다.

이 변경 사항을 적용하려면 로그 아웃하고 다시 로그인해야합니다. 로그인시 그룹 구성원을 읽습니다.

일단 그렇게하면 갑자기 / opt / lampp / htdocs에 파일을 마술처럼 쓸 수 있습니다.

시스템에 다른 사용자가 쓰기를 허용하려면 해당 사용자를 www 그룹에 추가하기 만하면됩니다. usermod -aD www <username> 명령.


감사합니다. D. 그것은 완벽하게 작동했습니다. (그것은 소유자가 "아무도 없다"고 말하면서 이상합니다.) drwxrwsr-x 4 nobody www 4096 2009-08-27 10:36 / opt / lampp / htdocs
Blub

"아무도"는 예약 된 사람이지만 다른 사용자 일뿐입니다. 아무도 모든 것에 대한 최소한의 권한을 가지고 있지 않아야합니다. 아마도 "아무도 없다"는 UID가 65535이거나 비슷한 것입니다.
Majenko

우수한 답변과 워크 스루가 저의 하루를 구했습니다. 감사합니다!
andig

@ 마 옌코 check the /etc/apache/httpd.conf file and edit the "Group" setting accordingly....이 디렉토리에 쓸 수있는 권한이 없기 때문에이 파일을 편집 할 수 없습니다! 같은 문제 ..
khaverim

@ Majenko이 간단한 터미널 명령은 나를 위해 그것을 고정 무엇입니까 : cd /opt/lampp 그때 sudo chmod 777 -R /opt/lampp/htdocs
khaverim

2

이 간단한 터미널 명령은 나에게 완전한 권한을주었습니다. htdocs PHP 프로젝트 작업을 시작할 수있었습니다.

sudo chmod 777 -R /opt/lampp/htdocs

모하메드 (Muhammed)의 의견에 비추어 볼 때, sudo chmod 755 -R /opt/lampp/htdocs


htdocs에 chmod 777을 사용하지 마십시오. 이유는 여기를보십시오. askubuntu.com/a/20110/267949
Mohammed Sufian

1

어느 쪽이든 + rw 또는 8 진수를 사용합니다. 둘 다 아닙니다.

지금하려는 것은 / opt / lampp / htdocs뿐만 아니라 755라는 디렉토리에서 읽기 및 쓰기 권한을 제거하는 것입니다.

어쨌든 xampp을 사용해서는 안됩니다. 램프 스택을 최신 상태로 설치할 수 있습니다. tasksel을 사용하여 설치할 수 있습니다.


나는 xampp을 사용할 것이라고 생각했다. Windows와 다른 사람들이 Google 검색에서 알기 때문에 더 사용자 친화적이라고 제안했기 때문이다.
Blub

사실, 아니. tasksel과 phpmyadmin을 사용하여 램프 스택을 설치하면 대부분의 xampp 기능을 사용할 수 있으며 Windows 버전의 전자 메일 서버는 사용할 수 없습니다. 그것은 또한 몇 가지 보안 개조가 있습니다. 설치하기 위해 두 개의 명령을 필요로하는 것 외에는 훨씬 쉽습니다. - 나는 / var / www에 바로 파일을 다운로드하고 추출하며, www 데이터에 파일을 저장합니다.
Journeyman Geek

"파일을 www- 데이터로 변환"하시겠습니까? 그게 무슨 뜻 이죠?
Blub

chown - 소유권을 특정 사용자 (이 경우 www-data)로 변경합니다.이 권한은 권한을 읽기 / 쓰기 등으로 변경하는 것보다 안전합니다.
Journeyman Geek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.