공유 개발 머신 설정

공유 개발 머신 설정

10명의 사용자가 포함된 서버 시스템이 있습니다. OS: 우분투 12.04.3 LTS 64비트

이러한 사용자는 개발자입니다(주로 웹 개발자: HTML+JS+PHP+MYSQL).

XRDP와 VNC를 통해 원격 로그인을 허용했습니다.

이제 모든 것이 잘 작동하지만 /var/www에 문제가 있습니다.

루트가 아니더라도 일부 코드를 공유하는 동안 문제가 발생하지 않도록 이 디렉토리에 적합한 권한은 무엇입니까? 모두 단순 사용자입니다.

소스 코드를 공유하는 동시에 각자 고유한 저장소를 갖게 하는 안전한 방법이 있는지 알아야 합니다. 어떤 아이디어든 환영합니다.

답변1

이러한 사용자를 모두 동일한 GROUP에 넣습니다.

usermod -g {group} {user}

이렇게 하면 모든 사용자가 동일한 권한을 갖게 됩니다. 우리는 일반적으로 Apache가 설정된 그룹(www-data 또는 apache)을 사용합니다.

그룹의 파일이나 디렉터리에 대한 권한이 변경되면 모두 변경됩니다.

일반적으로 /var/www/의 파일은 최소 664개를 가질 수 있습니다. 그리고 디렉토리 775. 그 중 어느 것도 777에 두지 마십시오. 하지만 더 낮은 곳으로 갈 수는 있습니다.

답변2

또 다른 방법 (현상금으로 인해 :))

모든 사용자를 동일한 웹 루트에 유지하고 싶지 않은 경우 이 방법으로 수행할 수 있습니다. /var/www/ 디렉터리에 대한 웹 루트 별칭으로 다른 디렉터리를 만들 수 있습니다. 두 명의 사용자 u1과 u2가 있다고 가정합니다.

만약 설치하지 않았다면 이미 apace2를 설치했다고 가정하겠습니다.sudo apt-get install apache2

/home/u1/web 및 /home/u2/web 디렉토리를 사용자 u1 및 u2의 웹 루트로 만들겠습니다.

sudo chmod 775 home/u1/web
sudo chmod 775 home/u2/web

sudo gedit /etc/apache2/sites-available/default

사용자 u1에 대한 별칭을 만듭니다(파일에 다음을 추가).

Alias /u1 /home/u1/web
<Directory /u1>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

사용자 u2에 대한 별칭을 만듭니다(파일에 다음을 추가).

Alias /u2 /home/u2/web
<Directory /u1>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

이제 각 사용자는 웹 브라우저에서 사용자 u1의 경우 localhost/u1, 사용자 u2의 경우 localhost/u2를 지정하여 자신의 웹 루트에 액세스할 수 있습니다.

답변3

다음과 같은 방법으로 할 수 있습니다:

  1. 각 사용자에 대해 /var/www 안에 디렉토리를 만듭니다.
  2. 각 디렉터리의 소유자를 연결된 사용자로 변경하고 그룹을 www-data 그룹으로 변경합니다.

    sudo chown user1:www-data /var/www/user1

    sudo chown user2:www-data /var/www/user2

  3. 각 디렉토리의 권한을 750으로 변경하여 어떤 사용자도 다른 사용자의 파일을 망칠 수 없지만 www-data 그룹의 권한을 사용하여 브라우저에서 다른 사람의 html 파일을 열 수 있는 기능을 유지합니다.


관련 정보