• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

CentOS7 FTP安装与配置vsftpd(虚拟用户)

互联网 diligentman 3天前 10次浏览

新建的FTP服务,记录参考一下!
https://www.inqingdao.cn/598.html

一、安装vsftp

#安装

yum install -y vsftpd

#设置开机启动

systemctl enable vsftpd.service

#启动

systemctl start vsftpd.service

#停止

systemctl stop vsftpd.service

#查看状态

systemctl status vsftpd.service

二、配置vsftp

#打开配置文件

vim /etc/vsftpd/vsftpd.conf

#修改配置 12 行

anonymous_enable=NO

#修改配置 33 行

anon_mkdir_write_enable=YES

#修改配置48行

chown_uploads=YES

#修改配置72行

async_abor_enable=YES

#修改配置82行

ascii_upload_enable=YES

#修改配置83行

ascii_download_enable=YES

#修改配置86行

ftpd_banner=Welcome to hwgm FTP service.

#修改配置100行

chroot_local_user=YES

#添加下列内容到vsftpd.conf末尾

use_localtime=YES
listen_port=21
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=120
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES

三、建立用户文件

#创建编辑用户文件

vim /etc/vsftpd/virtusers

#第一行为用户名,第二行为密码,都是自定义的。不能使用root作为用户名

username
password

四、生成用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

chmod 600 /etc/vsftpd/virtusers.db

五、修改 /etc/pam.d/vsftpd 文件

修改前先备份

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

vi /etc/pam.d/vsftpd

#先将配置文件中原有的 auth 及 account 的所有配置行均注释掉

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

如果系统为32位,上面改为lib

六、新建系统用户vsftpd,用户目录为/home/vsftpd

#用户登录终端设为/bin/false(即:使之不能登录系统),红颜色目录可以改到其他地方

useradd vsftpd -d /home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd

#如果这个ftp用户vsftpd是用来管理网站目录的,执行以下(意思是加入到apache组),否则不执行这一条!(补

充于20181111)

usermod -a -G apache vsftpd

七、建立虚拟用户个人配置文件

mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf

#这里建立虚拟用户username配置文件

touch username

#编辑username用户配置文件

vi username

#内容如下,其他用户类似

local_root=/var/ftp/hwgm
anon_root=/var/ftp/hwgm
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

#建立username用户的根目录,如果根目录是自己设置的已有的文件夹,就不用创建了

mkdir -p /var/ftp/hwgm

#增加用户username的根目录所有者为之前创建的vsftpd

chown -R vsftpd:vsftpd /var/ftp/hwgm

#提升该文件夹的权限

chmod -R 777 /var/ftp/hwgm

八、防火墙设置

现在centos7 都是默认安装的firewall ,IPTable要另外安装,所以下面的IPtables设置方式请忽略。

IPtables 的设置方式:

vi /etc/sysconfig/iptables

#编辑iptables文件,添加如下内容,开启21端口

-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 40000:40010 -j ACCEPT

firewall 的设置方式:

firewall-cmd –zone=public –add-service=ftp –permanent

firewall-cmd –zone=public –add-port=21/tcp –permanent

firewall-cmd –zone=public –add-port=40000-40010/tcp –permanent

禁用firewall也可以,更彻底:

systemctl disable firewalld

@其他关于防火墙的命令

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld

开机禁用 : systemctl disable firewalld

开机启用 : systemctl enable firewalld

九、关闭selinux,不关闭ftp工具应该可以连接,但是传输文件的时候,会发现文件上传和下载都会出现500、503

、200等报错

方式一:通过配置文件修改禁用

#打开SELINUX配置文件

vim /etc/selinux/config

#修改配置参数

#注释

SELINUX=enforcing

#增加

SELINUX=disabled

方式二:通过命令行禁用

setsebool -P ftpd_disable_trans 1

方式三:SELINUX不对vsftp不做任何限制

setsebool -P ftpd_connect_all_unreserved 1

十、重启vsftpd服务器

systemctl restart vsftpd.service

结束。

补充及注意事项:

1、如果要增加用户数,那么在第三步中再增加一个用户,并且接着执行第四步,这个时候新增加的用户是能登录

ftp的,只不过这个时候还没有经过第七步虚拟用户的配置,根目录为第六步创建的/home/vsftpd文件夹。

2、第七步中虚拟用户个人配置文件中的local_root的文件夹可以换成别的,这个是这个用户的根目录。但是要换的

文件夹必须执行以下“chmod -R 775 新的文件夹路径”。

3、配置vsftp被动模式项,vsftpd.conf最后面追加:
#设置是否允许被动模式
pasv_enable=YES
pasv_min_port=65000
pasv_max_port=65535

4、、建立虚拟用户配置文件

mkdir /etc/vsftpd/vconf

所有权限

vim /etc/vsftpd/vconf/user1

local_root=/var/ftp/hwgm
anon_root=/var/ftp/hwgm
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
download_enable=YES

上传权限

vim /etc/vsftpd/vconf/user2

local_root=/var/ftp/hwgm
anon_root=/var/ftp/hwgm
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
download_enable=NO

只能下载

vim /etc/vsftpd/vconf/user3

local_root=/var/ftp/hwgm
anon_root=/var/ftp/hwgm
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
download_enable=YES

注意:上述配置结尾不能有空格,否则报500 OOPS错


喜欢 (0)