Linux의 홈 폴더에 대한 사용자 액세스 제한 [duplicate] 초보자로서 나는 묶여있다. 나는

중복 가능성 :
모든 사용자를 자신의 홈 폴더로 제한하십시오.

나는 10.04 LTS를 실행하는 웹 서버를 가지고 있으며 서버 관리 세계에서 초보자로서 나는 묶여있다.

나는 당신이 질문을 돌리지 말 것을 친절히 요청할 것이다. 나는 뿌리를 두는 것과 같은 몇 가지 잘못이 있음을 의식하고있다. 그러나 그것이 내가 여기에 올리는 이유는 아니다. 감사 = D


상태

지금은 세 명의 사용자가 있습니다. 분명히 모든 것에 액세스 할 수있는 루트와 각 웹 사이트를 소유 한 다른 두 명의 사용자.

이 두 사용자의 경우 해당 웹 사이트는 각각의 홈 폴더에 각각 읽기, 쓰기 및 실행 권한이있는 추가 폴더에 있습니다. 이것은 쓸 수있는 유일한 폴더입니다. 폴더를 삭제하거나 폴더 외부의 내용을 변경할 수는 없습니다.

지금까지는 기본적으로 시스템의 모든 파일을 읽을 수 있기 때문에 다른 웹 사이트의 폴더로 이동하여 워드 프레스 설정 파일의 데이터베이스 비밀번호를 읽을 수 있습니다.

이것은 분명히 문제가됩니다.

사용자는 FileZilla를 사용하여 SSH를 통해 파일 및 폴더에 액세스합니다.

의문

  • 이러한 사용자가 중요한 데이터를 읽지 못하도록하려면 어떻게해야합니까? 즉, 자신의 홈 폴더에만 액세스를 제한하려면 어떻게합니까?

요구 사항

  1. 사용자는 FileZilla를 사용하여 SSH를 통해 계속 로그인해야합니다 (예 : FTP 솔루션 없음)

  2. 아파치는 여전히 사용자의 폴더에 접근 할 수 있어야한다 (즉, 750으로 chmod 할 수 없다)

알려진 문제

  • 명령 줄 도구 (/ bin / bash 내가 생각하는)를 포함하는 폴더는 아마 사용자의 홈 폴더에 심볼릭 링크되어야합니까? 이를 수행하는 방법을 설명하십시오.

당신이 대답을 가지고 있다면 커맨드 라인에 대해 아무 것도 모른다는 가정하에 당신이 그것을 쓸 수 있다면 고맙겠습니다. 필자는 Linux T_T의 명령 줄을 제외하고 Windows에서 파일을 붙여 넣는 방법을 모르는 사용자들과 같습니다.

감사 = D



답변

데이터베이스 구성을 세계에서 읽을 수있는 상태로 유지하지 마십시오. www-data사용자 및 / 또는 그룹으로 제한하십시오 . 사실, 전체 홈 디렉토리를 소유자와 www-data그룹으로 제한하십시오 .

chgrp -R www-data /home/user
chmod -R u=rwX,g=rXs,o= /home/user

( g=s비트는 새로 생성 된 모든 파일이 www-data그룹을 상속하게합니다 .) 또한 기본적 으로 “다른”에 대한 액세스를 거부 하는 기본 umask를 (in /etc/profile또는 PAM을 통해) 027설정합니다.

물론, 이것은 우회하기 쉽습니다. 하나는 다른 사용자의 configs를 읽는 웹 페이지 (PHP 또는 유사한)를 작성해야합니다. 더 나은 해결책은 suPHP 를 설치하는 것입니다. suPHP 는 CGI 웹 페이지가 소유자의 계정에서 실행되도록합니다. suPHP를 사용 하면 그룹 소유권이 필요 하지 않습니다.www-data 모든 파일을 소유자 ( u=rwX,go=) 로만 제한하십시오 . 그러나 이것은 아마도 다른 보안 구멍을 초래할 수 있습니다 – 워드 프레스는 이제 전체 웹 사이트에 대한 쓰기 권한을 가지게되며 WP의 보안 기록을 고려할 때 이것은 나쁩니다.


시스템의 나머지 부분에 관해서는 – /var, /usr, /etc– 그것의 대부분은 하지 민감한. 조각은 이미 표준 권한으로 보호되어 있습니다. 나머지는 숨기지 마라.