指定されたディレクトリへの SFTP ユーザー アクセスを制限する

指定されたディレクトリへの SFTP ユーザー アクセスを制限する

Ubuntu 14.04 サーバーをオープン SSH でインストールしています。顧客がファイルをダウンロードすることだけを可能にするために sftp を設定したいと思います。言い換えると、顧客が閉じ込められるディレクトリにファイルを置きます。顧客が自分のファイルがあるディレクトリにのみアクセスでき、他のものにはアクセスできないようにする必要があります。

当初は vsftpd を使用するつもりでしたが、誰かが sftp の方が良い選択肢だと教えてくれました。必要なものに関するドキュメントがあれば助かります。

以下の点についてサポートが必要です:

  1. sftpの設定方法
  2. ユーザーアカウントを設定してSFTPで使用する方法
  3. アカウントを刑務所に送る方法

答え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 ユーザーのホーム フォルダーには、ルート所有者を付与する必要があります。

関連情報