回答:
これがプロセスです:
:グループにユーザーを追加しますsudo usermod -aG www blub
のように編集するにいただきました最も簡単な方法をして、「は/ var / WWW」にファイルを追加しますか?
または単に使用する sudo adduser <username> www-data
sudo apt-get install vsftpd
リモートアクセス用にvsftpdを構成します。sudo nano /etc/vsftpd.conf
ファイルセット内
chroot_local_user=YES
これがコメントアウトされていることを確認してください:
#chroot_list_enable=YES
ドキュメンテーションに従って。
sudo service vsftpd restart
ユーザーのホームディレクトリをWebディレクトリに構成します(ではありません/home
)。
sudo usermod -d /var/www/mysite/ftpaccessdir <username>
ssh chrootを構成する
sudo nano /etc/ssh/sshd_config
最後に次を追加します。
Subsystem sftp internal-sftp
Match user <username>
ChrootDirectory /var/www/site
ForceCommand internal-sftp
AllowTcpForwarding no
ファイルのさらに上に、これがコメントアウトされていることを確認します(つまり、追加したばかりのファイルの前に)
#Subsystem sftp /usr/lib/openssh/sftp-server
sshを再起動します
sudo service ssh restart
Apacheの権限を変更します。
chown root:root /var/www
chown root:root /var/www/site
chmod 755 /var/www
ディレクトリにwww-dataアクセスがあることを確認してください
sudo chown -R www-data:www-data /var/www/site
chmod 755 /var/www/site
chown root:root /var/www/site
それsudo chown -R www-data:www-data /var/www/site
をステップ10 に戻すだけでよいのはなぜですか?
接続拒否エラーが最後に発生する場合は、「UsePAM yes」の後に「Subsystem sftp internal-sftp」が配置されていることを確認してください。そうでない場合は、sshを更新して再起動すると動作しました。
/home/user
ターゲットへのシンボリックリンクはどうですか?