安全な方法でクライアントとファイルを交換できるように、会社のsftpサーバーを具体的に設定する必要があります(サーバーはDebian Linux 8.7を実行しています)。
- すべてのサポートスタッフ(それぞれ別々のユーザーアカウントを保持)が読み取り/書き込みアクセス権を持つ「顧客」フォルダが必要です。
- 「顧客」フォルダの下に各顧客のサブフォルダを作成する必要があります。
- さらに、各顧客はサーバーに独自のユーザーアカウントを持っています。
- 「サポートユーザー」は、「クライアント」フォルダーでrootとして指定する必要があります。
- 各「ゲストユーザー」は、自分のディレクトリのルートを変更する必要があります。
- 認証方法はパスワードで保護された証明書を使用する必要があります(パスワードではありません)。
- サポートユーザーと顧客ユーザーの両方が、最上位フォルダー(顧客)にあるファイルおよび/またはフォルダーを追加、変更、または削除することはできません。
customers <--------- All support personel entry point | +--customer_001 <-------- Customer 1 entry point | | | +--files... | +--customer_002 <-------- Customer 2 entry point | | | +--files... | +--customer_003 <-------- Customer 3 entry point | | | +--files... . . .
sshdを次のように設定しました。
[...]
PasswordAuthentication yes
[...]
# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
[...]
Match Group kunden
ChrootDirectory %h
ForceCommand internal-sftp
Match Group wit-user
ChrootDirectory /var/sftp/customers
ForceCommand internal-sftp
- 「顧客ユーザー」は、ホームディレクトリが「顧客」の下の対応するディレクトリになるように構成されています。
- ホームディレクトリが「顧客」フォルダになるように「サポートユーザー」を設定します(これが重要か正しいかはわかりませんが)。
私の問題は、フォルダとファイルの所有権と権限を構成する方法がわからないことです。私が理解したのは、 "internal-sftp"サーバーには(ch)rootディレクトリにroot:rootの所有権が必要です。どちらの場合も、ルートディレクトリが異なるため:
ファイル/ディレクトリ権限を構成する方法は?
ファイルとディレクトリの所有権をどのように構成しますか?
ホームフォルダが適切なsftp chrootディレクトリの場合(正しい解決策である場合)、さまざまなユーザーの〜/ .sshフォルダをどのように処理する必要がありますか?
これにはACLが必要ですか?それでは、上記の要件を満たすようにどのように設定する必要がありますか?
頑張ったこれ(「sshd-configuration」のドイツ語のubunutusers.de wikiエントリ)しかし、これは「サポートユーザー」ではなく「顧客ユーザー」の問題の一部のみを解決します。