리눅스 디렉토리 접근 질문 www /

아파치가 설치된 리눅스 시스템이 있고 / home / username / www / sitename / htdocs에 웹 파일을 저장합니다. 이 작업을 위해 / home / username에 모든 사용자에 대해 읽기 및 실행 권한이 있습니다. 나는 나쁜 생각을 안다. 그러나 나는 시스템상의 유일한 사용자이다. 나는 정말로 신경 쓰지 않는다. 나는 그것을 어떻게 해야할지 모르겠다. 하지만 사실은 다른 사용자를 만들어야합니다. 문제는 분명히 새 사용자가 이전 사용자의 파일에 액세스 할 수 있다는 것입니다. 어떤 방법으로 만 apache www-data 사용자와 내 자신의 사용자가 / home / username에 액세스 할 수 있습니까? 여기 내가 시도한 바가있다.

i created a group webusers
i added my username and www-data to webusers
i removed rx permissions for everyone on /home/username
rx permissions still remain for the group on /home/username

www 데이터가 / home / username에 지금 액세스 할 수 없습니까? 내 사용자와 같은 그룹에 있습니다. 아니면 그렇게 간단하지 않습니까? 나는 1 차 및 2 차 그룹이 있지만 거기에 요점을 얻지 못했다고 읽었습니다 …



답변

너는 ~해야 해. chgrp webusers 그룹 구성원이 액세스 할 수있게하려는 파일


답변

응용 프로그램이 파일 시스템 엔티티, 파일 또는 디렉토리에 액세스해야하는 경우 모든 상위 디렉토리에 대해 eXecute 권한을 가져야합니다 (엔티티 자체에 대해 요청 된 권한을 제외하고). 그러나, 예를 들어, 하나의 디렉토리에 대한 그룹 권한과 다른 디렉토리에 대한 다른 권한에 의해 제공된 권한을 실행합니다. 방법 응용 프로그램이 권한을 얻습니다.

에 대한 권한으로 /home 아마 755 ( rwxr-xr-x ), 두 가지 가능한 문제점이있을 수 있습니다.

먼저, 아파치가 실제로 실행되는지 확인해야합니다. www-data, 그리고 두 번째로, 어떤 사용자를 그룹에 추가 한 후에는 리눅스가 보지 않기 때문에 이미 그 사용자로 실행중인 모든 응용 프로그램을 다시 시작해야합니다 /etc/passwd 그룹 목록을 가져올 때마다 GID 목록을 커널 구조에 저장합니다.

기본 및 보조 그룹은 사용자에게 적용될 때만 유효합니다. 사용자는 원하는 수의 그룹에 속할 수 있지만 그 중 하나는 기본 그룹으로 선택되고 새로 생성 된 파일에 할당됩니다. 다른 것은 액세스 권한을 제어하는 ​​데에만 사용됩니다.


답변

각 파일과 디렉토리에는 소유자, 그룹 및 기타 (다른 모든 사용자)에 대한 권한 집합이 있습니다.

운영 ls -l 이게 뭔지 알아 내려면

권한을 변경하려면 다음을 사용하십시오. chmod소유자와 그룹을 변경하려면 다음을 사용하십시오. chown

그만큼 man 페이지 chownchmod 재귀 적으로 작업을 훨씬 쉽게 해주는 사용 권한을 적용하는 팁과 사용할 구문을 제공하십시오.

  • 그룹을 만듭니다 ( webusers 귀하의 경우) 파일의 소유권을 변경하고 /home/user1/www/sitename/htdocsuser1.webusers
  • 그런 다음 파일의 권한을 다음으로 변경하십시오. rw-rw---- 디렉토리와 cgi를 rwxrwx---
  • user2 (새 사용자)는 webusers 그룹에 속하지 않는 한 파일에 액세스 할 수 없습니다