사용자의 홈 디렉토리가 다른 사용자의 홈 디렉토리 안에 있습니까?

사용자의 홈 디렉토리가 다른 사용자의 홈 디렉토리 안에 있습니까?

사용자를 생성하고 다른 사용자의 홈 디렉토리 내에 그의 홈 디렉토리를 설정하려고 합니다. 제가 여기저기 돌아다니는 것은 다음과 같습니다.

  • *nix 세계에서 허용됨

  • 아마도 (아직 테스트박스에서 시도해본 적은 없습니다)

  • 알려진 부정적인 영향이 있습니까?

사례:

ftp_user1홈디렉토리는/var/www/vhosts/website/

제 생각에는

ftp_user2메인 디렉토리/var/www/vhosts/website/subfolder/

(물론 사용자를 소유자로 선택해야 한다는 것은 알고 있습니다 /var/www/vhosts/website/subfolder/)

답변1

*nix 세계에서 허용됨

사실 *nix 세계에서는 무엇이든 허용됩니다.

아마도 (아직 테스트박스에서 시도해본 적은 없습니다)

예, 가능합니다. 사용자에게 홈 디렉터리가 할당되면 이는 cd사용자가 로그인할 때 기본적으로 사용되는 디렉터리입니다. 다음 옵션을 사용하여 ftp_user2홈 디렉터리를 변경할 수 있습니다.-dusermod

usermod -d [directory] [ftp_user2]

귀하의 경우 다음과 같습니다.usermod -d /var/www/vhosts/website/subfolder ftp_user2

을 생성해야 하는 경우 를 ftp_user2사용하여 생성할 때 홈 디렉터리를 지정할 수 있습니다 useradd.

useradd -m -d /var/www/vhosts/website/subfolder -s /bin/bash ftp_user2

-m이 옵션은 사용자의 홈 디렉토리가 아직 존재하지 않는 경우 생성합니다. 이 -d옵션은 사용자에게 할당되는 홈 디렉터리를 지정합니다. 이 -s옵션은 사용자가 로그인할 때 사용할 쉘을 지정합니다. -s이는 필수는 아니지만 일반적으로 사용자가 로그인하는 기본 셸을 지정하는 것이 좋습니다.

알려진 부정적인 영향이 있습니까?

내가 생각할 수 있는 유일한 부정적인 측면은 누군가가 ftp_user1자신의 홈 디렉토리를 삭제하기로 결정하면 홈 디렉토리 ftp_user2도 삭제된다는 것입니다.

답변2

사용자의 홈 디렉토리가 다른 사용자의 홈 디렉토리 내에 위치할 수도 있지만 이는 드문 일이며 그럴 만한 이유가 있습니다. 일반적으로 사용자는 자신의 홈 디렉터리에 쓸 수 있습니다. ftp_user1기록할 수 있는 경우 이름을 바꿀 수 /var/www/vhosts/website/있으며 해당 이름으로 새 디렉토리를 생성할 수 있습니다. 이 디렉토리는 에 속 하고 내용을 가집니다 . 예를 들어:ftp_user1/var/www/vhosts/website/subfolderftp_user1ftp_user1

mv /var/www/vhosts/website/subfolder /var/www/vhosts/website/subfolder.user2
mkdir /var/www/vhosts/website/subfolder
echo 'cp /bin/sh /tmp/sh.user2; chmod u+s /bin/sh.user2' >/var/www/vhosts/website/subfolder/.profile

다음에 ftp_user2로그인할 때 해당 계정에 대한 액세스를 (및 다른 모든 사람) .profile허용하는 setuid 셸을 실행하고 생성합니다 . (물론 이 개념 증명은 더욱 강력해질 수 있습니다.)ftp_user1ftp_user2

홈 디렉토리에 쓸 수 없다면 ftp_user1이는 안전할 수도 있지만 약간 혼란스럽습니다. 이 작업을 수행하도록 유도한 작업을 수행하는 더 좋은 방법이 있을 수 있습니다.

관련 정보