Ubuntu server中搭建vsftpd小记
<h1> 在Ubuntu server中安装vsftpd</h1>
sudo apt-get install vsftpd
<h2>添加用户</h2>
搭建FTP的为了登录用户,不能查看其它目录,只能在自己的目录中操作文件,并且不能登录ssh
1. 添加用户:pinkrose
命令格式是:sudo useradd 用户名 -d 用户的登录目录 -s 登录时候的shell
sudo useradd pinkrose -d /home/pinkrose -s /bin/false
可做可不做的一小步:我们可以进入/etc 目录中sudo vim passwd,查看我自己刚才创建的pinkrose的一点用户信息
pinkrose:x:1009:1009::/home/pinkrose:/bin/false
2. 给pinkrose用户添加密码
sudo passwd pinkrose
要输入两次密码,就可以成功设置用户的密码了,如:
<h3>配置vsftpd</h3>
进入/etc目录,然后编辑 vsftpd的配置文件 vsftpd.conf
我修改之后的配置文件是:
listen=YES anonymous_enable=NO local_enable=YES write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES use_localtime=YES connect_from_port_20=YES #I change chroot_local_user=YES chroot_list_enable=NO chroot_list_file=/etc/vsftpd.chroot_list secure_chroot_dir=/var/run/vsftpd/empty #wakasann add config local_root=/var/www
然后按ESC键,输入”:wq” 保存并退出vim
创建chroot_list_file的文件,
sudo vim /etc/vsftpd.chroot_list
打开之后,输入刚才添加的用户名:pinkrose,一行一个用户名
添加完之后,就可以重启vsftpd服务了
sudo service vsftpd restart
然后我们用FTP工具尝试登录ftp
登录可能会报:
1. 530 Login incorrect
[右] 正在连接到 192.168.1.147 -> IP=192.168.1.147 PORT=21 [右] 已连接到 192.168.1.147 [右] 220 (vsFTPd 2.3.5) [右] USER pinkrose [右] 331 Please specify the password. [右] PASS (hidden) [右] 530 Login incorrect. [右] 连接失败
解决方法是:
sudo apt-get remove vsftpd sudo rm /etc/pam.d/vsftpd sudo apt-get install vsftpd
2. 登录提示: vsftpd Connection connect time out
我的解决方法是:打开21端口