Sshdやpamでsftpの仮想ユーザーをセットアップしようとしました。
私のフォルダ構造は次のようになります。
/
|-- var
| +-- www
| +-- site1
| +-- folder_1
| +-- folder_2
| +-- site2
| +-- folder_1
| +-- folder_2
各サイトには、ホームディレクトリが同じグループ(site1、site2)であるLinuxユーザー(site1、site2など)がいます。 /var/www/site1
。 umaskは0022で、すべてのファイルと(サブ)フォルダーはsite1
have UID=site1
anf GID=site1
。これは変更しないでください。
Sftpのルートフォルダーは、たとえば、各Linuxユーザーが自分のホームディレクトリを取得するようにsshdをセットアップできました/var/www/site1
ユーザーsite1
。 /etc/ssh/sshd_config
の設定は次のようになります
(最後の数行のみ、残りはデフォルト設定です):
UsePAM yes
Subsystem sftp internal-sftp
Match User *,!root
ChrootDirectory %h
ForceCommand internal-sftp -u 0022
AllowTcpForwarding no
ここで、sftpルートフォルダーが存在する場所に仮想ユーザー(必要な場合は新しいLinuxユーザーまたはグループは不要)を追加します。 /var/www/site1/folder1
(sftpユーザーの場合) site1_folder1
。このユーザーは、ユーザーsite1
の子であり、同じUIDとGIDを使用する必要がありますが、彼のサブディレクトリにのみアクセスできます。
構成を変更する方法と、仮想ユーザーをどこに追加できますか?
buntu 16.04 LTS、LAMPサーバーでこれが必要
ProFTPdを使用すると、仮想FTP/SFTPユーザーを作成し、それらを実際のユーザーのuidおよびgidにマッピングできます。
仮想ユーザーのようなものはありません。接続するユーザーにはユーザーアカウントが必要です。それぞれのホームディレクトリでそれらをchrootすることができます。