1.安装vsftpd
安装vsftpd
yum -y install vsftpd
启动vsftpd
systemctl start vsftpd
开机启动设置
systemctl enable vsftpd
创建ftp根目录(通过FTP远程可访问到的文件根目录)
mkdir -p /ftpserver
2.配置文件vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
#禁止匿名访问
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_list_enable=NO // 不允许用户离开自己的主目录
chroot_list_file=/etc/vsftpd.chroot_list // 虚拟用户列表,每行一个用户名
local_enable=YES // 允许本地用户访问
write_enable=YES // 允许本地用户写入
local_umask=022 // 上传后的文件的默认掩码
chroot_local_user=YES // 禁止本地用户离开自己的主目录
pam_service_name=vsftpd.vu // 权限验证需要的加密文件
guest_enable=YES // 开启虚拟用户功能
guest_username=ftp // 虚拟用户的宿主目录
virtual_use_local_privs=YES // 用户登录后操作目录和本地用户权限一样
user_config_dir=/etc/vsftpd/vconf // 虚拟用户主目录设置文件
allow_writeable_chroot=YES // 允许写入用户主目录,这条特别重要
vsftpd配置文件详解
3.指定认证方式
vim /etc/pam.d/vsftpd.vu
添加以下内容(注意空白字符为tab!)
#%pam-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
4.添加用户
添加两个测试用户user1和user2,密码都为123456
vim /etc/vsftpd.chroot_list
user1
user2
创建用户目录
mkdir -p /ftpserver/user1 /ftpserver/user2
修改目录权限
chmod -R 755 /ftpserver/user1 /ftpserver/user2
创建用户和密码
echo -e "user1\n123456\nuser2\n123456" >/etc/vsftpd/vusers.list
设定用户数据库
cd /etc/vsftpd
db_load -T -t hash -f vusers.list vusers.db
chmod 600 vusers.*
5.创建文件并指定ftp用户目录
创建用户目录
mkdir –p /etc/vsftpd/vconf
创建用户文件
cd /etc/vsftpd/vconf
touch user1 user2
配置用户文件
vim user1
local_root=/ftpserver/user1
vim user2
local_root=/ftpserver/user2
6.测试连接
重启服务器
systemctl restart vsftpd
测试连接
浏览器登录ftp://服务器ip,输入user1,123456测试连接
7.添加用户
添加用户名
vim /etc/vsftpd.chroot_list
添加
user3
添加用户及密码
vim /etc/vsftpd/vusers.list
写入两行:
user3
123456
创建新用户目录
mkdir -p /ftpserver/user3
修改目录权限
chmod -R 755 /ftpserver/user3
设置数据库
cd /etc/vsftpd
db_load -T -t hash -f vusers.list vusers.db
chmod 600 vusers.*
创建文件名文件,并指定用户目录
touch /etc/vsftpd/vconf/user3
vim /etc/vsftpd/vconf/user3
local_root=/ftpserver/user3
重启服务
systemctl restart vsftpd