首页 > 代码库 > centos7架设vsftpd服务

centos7架设vsftpd服务

网络控制相关命令:

systemctl status network 网络状态

systemctl restart network 网络重启 

 

查看网络状态: nmcli connection show -a

配置网卡信息: vi /etc/sysconfig/network-scripts/eno….

重启网卡: systemctl restart network

——————————————————————————

 

防火墙设置相关命令:

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

firewall-cmd --reload #重启firewall

 

firewall-cmd --list-ports #列出开放的端口

 

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

 

网卡配置信息:

cd /etc/sysconfig/network-scripts/

vi ifcfg-eno16777736

-----------固定IP网卡配置—开始-----------

TYPE=Ethernet

BOOTPROTO=none

NM_CONTROLLERED=yes

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=eno16777736

UUID=9451adc6-6f7d-410a-be1c-eca7fb61f1ef

DEVICE=eno16777736

ONBOOT=yes

IPADDR=192.168.1.30

PREFIX=24

GATEWAY=192.168.1.1

DNS1=192.168.1.1

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

-----------固定IP网卡配置—结束-----------

 

 

VSFTPD按照与配置

 

安装软件及服务:

yum install vsftpd*

yum install pam*

yum install db4*

 

创建vsftpd进程所需要的用户,包括宿主用户和虚拟宿主用户

useradd vsftpd -s /sbin/nologin

useradd overlord -s /sbin/nologin

 

其他用户相关命令

userdel –r [用户名]

id [用户名]

su [用户名]

cat /etc/passwd

 

配置Vsftpd的配置文件

注意两坑:

1、         如果没有IPV6的网络,主要要将IPV6的配置注释掉

2、         allow_writeable_chroot=YES  #解决父目录不能写的报错

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

allow_ftpd_full_access

anon_upload_enable=NO

anon_mkdir_write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

chown_uploads=NO

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

nopriv_user=vsftpd

async_abor_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Welcome to Vsftp FTP service.^_^

chroot_local_user=YES

chroot_list_enable=NO

ls_recurse_enable=NO

 

listen=YES

 

 

#listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_username=virtftpuser

guest_enable=YES

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vconf/

allow_writeable_chroot=YES

 

其他(没有试验):

如果允许被动模式的话:

防火墙中还需要添加:

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

-A INPUT -p tcp -m tcp --dport 9010:9020 -j ACCEPT

 

vsftpd.conf中需要添加

pasv_enable=yes

pasv_min_port=9010

pasv_max_port=9020

listen_port=21

 

制作虚拟用户数据库文件

touch /etc/vsftpd/virtusers

vi /etc/vsftpd/virtusers

----------------------------
kanecruise
123456
near
123456near
mello
123456mello
----------------------------
编辑这个虚拟用户名单文件,在其中加入用户的用户名和口令信息。格式很简单:“一行用户名,一行口令”。

 

生成虚拟用户数据文件:

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

察看生成的虚拟用户数据文件

ll /etc/vsftpd/virtusers.db

 

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

在编辑前做好备份:

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup

编辑Vsftpd的PAM验证配置文件

vi /etc/pam.d/vsftpd

-------------------------------------------------------------------------------

#%PAM-1.0

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

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

session    optional     pam_keyinit.so    force revoke

auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

auth       required     pam_shells.so

auth       include      password-auth

account    include      password-auth

session    required     pam_loginuid.so

session    include      password-auth

-------------------------------------------------------------------------------

虚拟用户的配置
1.规划好虚拟用户的主路径:
[root@KcentOS5 ~]# mkdir /opt/vsftp/

2.建立测试用户的FTP用户目录:
[root@KcentOS5 ~]# mkdir /opt/vsftp/ huangju / /opt/vsftp/ryan/

3.建立虚拟用户配置文件模版:

 cp /etc/vsftpd/vsftpd.conf.backup /etc/vsftpd/vconf/vconf.tmp

4.定制虚拟用户模版配置文件:
 vi /etc/vsftpd/vconf/vconf.tmp

————————————————————————————————anonymous_enable=NO

local_root=/opt/vsftp/huangju

write_enable=YES

local_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

max_per_ip=5

local_max_rate=50000

————————————————————————————————

更改虚拟用户的主目录的属主为虚拟宿主用户:

chown -R overlord.overlord /opt/vsftp/

从虚拟用户模版配置文件复制:

cp /etc/vsftpd/vconf/vconf.tmp /etc/vsftpd/vconf/kanecruise

针对具体用户进行定制:

vi /etc/vsftpd/vconf/kanecruise

 

启动服务:systemctl start vsftpd

加入开机启动 systemctl enable vsftpd

重启:systemctl restart vsftpd

centos7架设vsftpd服务