apt-get -y install vsftpd
cat /etc/vsftpd.conf |grep -v ^'[#^]'
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_root=ftp家目录 貌似不加这行也没事
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list #这3条一定要加,不允许用户访问家目录以上的目录
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=ftp #改成ftp,不然登录也会报错
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
allow_writeable_chroot=YES #一定要加,不然登录报530 OOP等错误
然后:
service vsftpd restart
service vsftpd status
添加用户:
useradd uftp -d /home/uftp -s /bin/bash
passwd uftp
测试登录OK
原文:https://blog.csdn.net/xuhuiq/article/details/84546701
用户其实可以不用另外建立,用当前的登陆用户就可以了。
再加一下我自己的配置文件。
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_root=/home/star-net/tomcat/apache-tomcat-8.5.43/webapps
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=ftp
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
allow_writeable_chroot=YES
安装使用sudo apt-get install vsftpd,再修改配置文件。
配置时有一段chroot_list_file=/etc/vsftpd.chroot_list,需要在etc中创建这个文件,然后把当前的登陆用户加进去。
local_root有点懵(因为客户端 xftp软件是没直接到那个文件夹,但是客户端浏览器上是显示直接到指定的那个文件夹)。然后,目录会直接到/home/star-net,因为我当前的用户就是star-net。
并且不能够向上一级跳转,但是按照上述方式新建立的用户在/home/uftp下,却可以往上一级跳转,访问了/home/star-net有些目录文件不能够打开。比如webapps。这些应该是和权限有过关系。
登陆测试:
首先在服务器浏览器中输入ftp://127.0.0.1,如果要求输入用户密码,说明成功配置。
然后,远程可以在dos窗口中输入ftp ip(远程linux系统ip地址),如果成功的话,也会让你输入用户名密码。
参考链接: https://www.cnblogs.com/justuntil/p/8522335.html
然后在远程的电脑浏览器中也可以输入ftp://ip
将会自动跳转到local_root指定的目录中。
最后在xftp软件中打开,打开目录直接到了/home/star-net。