Ubuntu 14.04 サーバーをオープン SSH でインストールしています。顧客がファイルをダウンロードすることだけを可能にするために sftp を設定したいと思います。言い換えると、顧客が閉じ込められるディレクトリにファイルを置きます。顧客が自分のファイルがあるディレクトリにのみアクセスでき、他のものにはアクセスできないようにする必要があります。
当初は vsftpd を使用するつもりでしたが、誰かが sftp の方が良い選択肢だと教えてくれました。必要なものに関するドキュメントがあれば助かります。
以下の点についてサポートが必要です:
- sftpの設定方法
- ユーザーアカウントを設定してSFTPで使用する方法
- アカウントを刑務所に送る方法
答え1
設定/etc/ssh/sshd_config
Subsystem sftp internal-sftp -f AUTH -l VERBOSE
UsePAM yes
Match group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
グループ sftp を作成します:
groupadd sftp
ディレクトリを作成
sudo mkdir /ftpusers
sudo mkdir /ftpusers/HomeFolder
新しい sftp グループを添付したユーザーを直接作成します。
sudo useradd -d /ftpusers/HomeFolder -m UserName -g sftp -s /bin/false
sudo passwd UserName
sftp の ssh で使用する権限を設定します。
chown root:root /ftpusers/HomeFolder
chmod 755 /ftpusers/HomeFolder
サービスを再起動:
service ssh restart
注意: 新しい sftp ユーザーのホーム フォルダーには、ルート所有者を付与する必要があります。