ユーザーがログインすると、ユーザーのSFTPホームディレクトリに自分が属するプロジェクトの共有ディレクトリを表示できる必要があります。他のプロジェクトディレクトリは表示できません。ユーザーに読み取り/書き込みアクセス権が必要です。
たとえば、3人のユーザーu1、u2、u3、および2つのプロジェクトp1、p2があるとします。 u1はp1の一部であり、u2はp2の一部ですが、u3はp1とp2の両方にアクセスできます。ログインすると、ホームディレクトリは次のようになります。
- U1ホームページ - > p1
- U2 ホーム->p2
- U3ホーム - > p1、p2
私の場合、何百人ものユーザーとプロジェクトがあります。ユーザーの5%未満が複数のプロジェクトのメンバーです。
私は提案されたシンボリックリンクソリューションを試しました。プロジェクトディレクトリをメンバーのホームディレクトリとして共有する方法
- グループ設定
- グループに基づいてファイル権限を割り当てる
- グループにユーザーを追加
- ユーザーのホームディレクトリにシンボリックリンクを作成します。
ChrootDirectory
ただし、sshd_configにユーザー固有のホームページがあったため、ここでは機能しません。
また、私はそれを試しましたmount --bind
。ただし、同じプロジェクトディレクトリに複数のマウントを作成する場合は機能しません。新しいインストールが作成されると、プロジェクトディレクトリの古いファイルは消えます。