ユーザーのホームディレクトリは他のユーザーのホームディレクトリ内にありますか?

ユーザーのホームディレクトリは他のユーザーのホームディレクトリ内にありますか?

ユーザーを作成し、他のユーザーのホームディレクトリ内に自分のホームディレクトリを設定しようとしています。私があちこちに歩き回るのは次のとおりです。

  • *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これは安全かもしれませんが、少し混乱しています。これを行うように誘導したタスクを実行するより良い方法があるかもしれません。

関連情報