centos7中搭建ftp服务
博客搬家: centos7中搭建ftp服务
最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程。过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的,当然排除了一些坑点。
1. 安装vsftpd
- 安装vsftpd: yum install vsftpd -y
- 启动vsftpd: systemctl start vsftpd
- 设置开机启动:systemctl enable vsftpd
- 创建ftp根目录: mkdir -p /ftpserver
2. 设置配置文件
vim /etc/vsftpd/vsftpd.conf
listen=YES // 需要把ipv6那个改成NO,两个不能同时开启
#禁止匿名访问
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 // 权限验证需要的加密文件
guest_enable=YES // 开启虚拟用户功能
guest_username=bt // 宿主用户,这个用户需要创建,或者使用已有用户,同样可以通过ftp来登录
virtual_use_local_privs=YES // 用户登录后操作目录和本地用户权限一样
user_config_dir=/etc/vsftpd/vconf // 虚拟用户主目录设置文件
allow_writeable_chroot=YES // 允许写入用户主目录,这条特别重要
3. 添加虚拟用户,并创建用户目录
- vim /etc/vsftpd.chroot_list,添加两个用户如进去,分别为:
user1
user2
- mkdir -p /ftpserver/user1 /ftpserver/user2 // 创建用户目录
- chmod –R 755 /ftpserver/user1 /ftpserver/user2 // 修改目录权限,如果希望用户有写入权限,给other添加写权限即可,例如777
- 指定用户目录
mkdir –p /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
touch user1 user2
# vim user1
local_root=/ftpserver/user1
#vim user2
local_root=/ftpserver/user2
4. 设置用户密码和数据库
echo -e "user1\n123456\nuser2\n123456" >/etc/vsftpd/vusers.lis
cd /etc/vsftpd
db_load –T –t hash –f vusers.list vusers.db
chmod 600 vusers.*
5. 指定登录认证方式
vim /etc/pam.d/vsftpd
修改为如下
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
6. 关闭SELINUX的屏蔽
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
SELINUX=disabled #增加
setenforce 0 #使配置立即生效
最后 systemctl restart vsftpd即可