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::::/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=
[右] 已连接到 192.168.1.147
[右] (vsFTPd 2.3.)
[右] USER pinkrose
[右] Please specify the password.
[右] PASS (hidden)
[右] 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端口
参考:
1. ubuntu下创建ftp用户,该用户只访问特定目录下的内容
3. vsftpd锁定用户目录[ubuntu, ftp server, vsftpd.conf]
4. http://www.lylinux.org/ubuntu-12-04-server-installation-the-vsftpd-tips-530-login-incorrect.html