特定のフォルダへのアクセスが制限された sftp のユーザーを作成したい
私のフォルダ構造は次のようになります:
/var/www/site1/files/
/var/www/site2/files/
/var/www/site3/files/
Filezilaを使用してWebサイトのファイルをアップロードするためだけにアクセスできるsftp user1を作成し/var/www/site1/files/
、他のフォルダーを表示できないようにしたい
同様に、ユーザー2はアクセスが制限されており、/var/www/site2/files/
制限付きアクセスを持つユーザー3の場合/var/www/site3/files/
答え1
ほぼその通りです。
最善の方法は、次のとおりです。
/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
見るDigital Oceanのこの投稿詳細については。
答え2
フォロー後クリシュナ・チャリスの回答所有権と権限を調整する必要があるかもしれません。
たとえば、ユーザー site1 の場合:
chown root:root /home/site1
chmod 755 /home/site1
cd /home/site1
chown site1:sftponly