Ubuntu의 제3자에게 단일 wordpress 폴더에 대한 액세스 권한을 어떻게 부여할 수 있습니까?

Ubuntu의 제3자에게 단일 wordpress 폴더에 대한 액세스 권한을 어떻게 부여할 수 있습니까?

'www/website1'의 소유자 및 그룹은 root:www-data이며 루트 또는 sudo 사용자로서 내용이나 구성을 수정할 수 있습니다.

하지만 이제 나는 website2('www' 디렉터리 자체 아래)라는 또 다른 웹사이트를 만들고 싶습니다. 이 웹사이트의 액세스 권한은 내 친구에게 부여되어야 합니다(그가 원하는 대로 이 웹사이트를 쉽게 구성할 수 있도록). 하지만 그는 sudo를 사용해도 내 OS의 다른 디렉터리를 만지거나 볼 수 없어야 합니다.

이를 위해 Ubuntu OS에 새 사용자를 생성하고 해당 사용자에 대한 ftp 로그인 ID/비밀번호를 생성할 수 있습니다. 그러나 나는 이 웹 사이트2에 대한 777 액세스와 함께 자동으로 전체 루트 폴더와 모든 하위 폴더에 대한 읽기 액세스 권한을 얻는 것을 보거나 발견했습니다.

필요한 1개(또는 2개 폴더)만 볼 수 있고 지정된 폴더 이상은 볼 수 없도록 이를 제어할 수 있는 간단한 방법이 있습니까? 또한 전체 OS의 다른 모든 폴더 속성을 하나씩 수정하고 싶지 않습니다. 감사해요.

답변1

www-data여기서 핵심은 바로 그룹입니다. 사용자를 그룹에 추가하면 그룹 권한에 따라 파일 및 디렉터리에 액세스할 수 있습니다.

명령은 다음과 같습니다:

 usermod -a -G www-data {user2}

그러면 {user2}는 이 그룹에 연결된 파일을 변경할 수 있습니다(자신이 소유하고 변경할 수 있는 파일 제외).

필요한 경우 새 그룹을 생성하고 해당 그룹을 2명의 사용자에게 연결하고 user2를 해당 그룹에 연결된 파일로만 제한할 수도 있습니다. Apache는 www-data를 사용자로 사용하지만 해당 사용자는 그룹 www-data 이상을 가질 수도 있습니다.

나는 이 웹사이트2에 대한 777 액세스와 함께 자동으로 전체 루트 폴더와 모든 하위 폴더에 대한 읽기 액세스 권한을 얻는 것을 보거나 발견했습니다.

chmod 777은 고정 비트도 포함하지 않는 한 결코 답이 아닙니다.

답변2

다음 명령을 사용하십시오.

setfacl -R -m user:{user2}:rwX www/website2

그러면 사용자 {user2}에게 www/website2 및 해당 디렉터리 내의 모든 항목에 대한 전체 액세스 권한이 부여됩니다.

편집하다:귀하의 문제는 {user2}이(가) www/website2가 아닌 다른 디렉토리에 대한 읽기 액세스 권한을 가지고 있다는 것입니다. 이러한 디렉터리는 일반적으로 기본적으로 "기타"에 대해 읽기 액세스가 활성화되어 있습니다. 모든 사용자에 대해 - 이것이 바로 {user2}가 해당 내용을 읽을 수 있는 이유입니다. 이 액세스 권한을 제거하지 않으면 {user2}이(가) 해당 항목을 보는 것을 방지할 수 없습니다. 유일한 방법은 귀하의 질문에 대한 설명에 언급한 대로 FTP chroot 감옥에서 {user2}를 잠그어 www/website2가 해당 사용자의 루트 디렉터리가 되도록 하는 것입니다. FTP 서버가 이를 지원하는지 확인하세요.

관련 정보