web-dev-qa-db-ja.com

chrootされたグループでSFTPを設定するにはどうすればよいですか?

Chrootされたディレクトリを使用して、複数のグループに対して動作するsftpサーバーを設定するにはどうすればよいですか?

2
SPeedY

OPの元の質問から次のように再投稿:


私は最終的に私のために働いたものを共有することにしました。私はUbuntuに慣れていない2か月なので、まだ私を撃たないでください:)これは新しいことではありませんが、私のような初心者がそれを達成する方法を説明する完全な記事を見つけるのに苦労しました。

Sudo vi /etc/ssh/sshd_config

そして追加

Subsystem sftp internal-sftp
Match group Group-A
    ChrootDirectory /Group-A
    ForceCommand internal-sftp
    AllowTcpForwarding no

Match group Broup-B
    ChrootDirectory /Group-B
    ForceCommand internal-sftp
    AllowTcpForwarding no

保存して終了し、ユーザーとグループのディレクトリの作成を開始します。

Sudo useradd Group-A-Users
Sudo useradd Group-B-Users
Sudo passwd Username
Sudo usermod -G Group-A Group-A-Users= All users that belong to this group
Sudo usermod -G Group-B Group-B-Users= All users that belong to this group
Sudo mkdir /Group-A
Sudo mkdir /Group-B
Sudo mkdir /Group-A/Upload
Sudo mkdir /Group-B/Upload

次に、ディレクトリに権限を設定します。メインフォルダーはrootが所有する必要があり、他のユーザーまたはグループによるメインフォルダーへの書き込みアクセス権があってはなりません。そうしないと、再起動後にsshがクラッシュします。

Sudo chown root /Group-A
Sudo chown root /Group-B
Sudo chmod go-w /Group-A
Sudo chmod go-w /Group-B
Sudo chgrp GroupName /Group-A/Upload
Sudo chgrp GroupName /Broup-B/Upload
Sudo chmod ug+rwX /Group-A/Upload
Sudo chmod ug+rwX /Group-B/Upload

これは、Ubuntuが初めてで、仕事や友達のために安全なsftpサーバーをセットアップしたい、私のようなダミーのユーザー向けのガイドです。

2
terdon

これは1つの方法で機能しますが、グループを1つだけ作成し、特定のグループにユーザーを追加して、ユーザーがSFTPサーバーにログインすると、その特定のディレクトリにchrootできるようにします。

次に、フォルダの所有権を取得します(たとえば、フォルダ名はA、B、Cなど)。フォルダAをルートからユーザーxに制限し、フォルダBは所有権をルートからユーザーyに制限します。私たちは設定ファイルをジャンクアップしません。

どちらの方法も正しく、私たちが作業する環境と要件に基づいて、すべての方法を実行します。

0