Ubuntu

vsftpd chroot_local_user 什麼都不做

  • October 18, 2020

我正在設置一個 vsftpd 伺服器:

Linux 2.6.32-26-server #48-Ubuntu SMP Wed Nov 24 10:28:32 UTC 2010 x86_64 GNU/Linux

當我設置chroot_local_user=YES時,沒有效果(/我登錄時仍然可以看到)。syslog 中沒有任何內容或/var/log/vsftpd.log指示出了什麼問題。我知道我正在編輯正確的 conf 文件,並且當我重新啟動守護程序時其他設置確實生效,因為這些工作:

ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES

知道有什麼問題嗎?謝謝。

編輯:

我已經touch編輯/etc/vsftpd.chroot_list它為空(沒有拒絕 chroot 的使用者),並添加了:

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

然後重新啟動:

sudo /etc/init.d/vsftpd restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service vsftpd restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart vsftpd
vsftpd start/running, process 5606

還是沒有效果。

文件對如何執行此操作不是很清楚,而且如果不查看整個配置文件,就很難判斷您缺少什麼。

盲目猜測:

   passwd_chroot_enable
         If enabled, along with chroot_local_user, then a chroot() jail
         location may be specified on a per-user basis. Each user's  jail
         is  derived from their home directory string in /etc/passwd. The
         occurrence of /./ in the home directory string denotes that  the
         jail is at that particular location in the path.

         Default: NO

嘗試將其設置為“是”。如果還是不行,請:

  1. 將您的完整配置文件添加到您的問題中
  2. 顯示您登錄的使用者
  3. 解釋你如何驗證你沒有被 chroot

引用自:https://serverfault.com/questions/218086