特定のフォルダへのアクセスが制限されたsftpのユーザーを作成したい
私のフォルダ構造は次のようになります:
/var/www/site1/files/
/var/www/site2/files/
/var/www/site3/files/
Sftp user1を作成して/var/www/site1/files/
にアクセスし、filezilaを使用してウェブサイトファイルをアップロードし、他のフォルダーを表示できないようにしたい
同様に、/var/www/site2/files/
へのアクセスが制限されているuser2の場合
/var/www/site3/files/
へのアクセスが制限されているuser3の場合
あなたはほとんど事をフォローしました。
これを行うのが最善の方法です。
/home
に次の行を追加して、3つのディレクトリをそれぞれ/etc/fstab
ディレクトリにマウントします。
/var/www/site1/files/ /home/site1/htdocs/ bind 0 0
/var/www/site2/files/ /home/site2/htdocs/ bind 0 0
/var/www/site3/files/ /home/site3/htdocs/ bind 0 0
mount -a
を使用して、マウントを即座に開始します。
ユーザーsite1、site2、site3が同じグループに追加されていることを確認してください(例:sftpusersまたはsftponly)。次のコマンドを使用して、ユーザーをグループに追加できます。
usermod -aG sftponly site1
usermod -aG sftponly site2
usermod -aG sftponly site3
以下を使用して、対応するユーザーの/home/{site1,site2,site3}
ホームディレクトリを作成します。
usermod -d /home/site1 site1
usermod -d /home/site2 site2
usermod -d /home/site3 site3
/etc/ssh/sshd_config
に以下を追加してください:
Match group sftponly
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
最後に、以下を使用してsshサービスを再起動します。
service ssh restart
詳細は このデジタルオーシャンに関する投稿 を参照してください。
krishna chaliseの回答 をたどると、所有権と権限を調整する必要がある場合があります。
たとえば、ユーザーsite1の場合:
chown root:root /home/site1
chmod 755 /home/site1
cd /home/site1
chown site1:sftponly