centos7yum安装vsftpd3.0.2

1、查看系统是否安装ftp

rpm -qa|grep vsftpd

2、安装

2.1、使用 yum 安装 vsftpd

yum install -y vsftpd

2.2、启动 vsftpd

安装完成后,启动 FTP 服务:

systemctl start vsftpd.service

启动后,可以看到系统已经监听了 21 端口:

netstat -nltp | grep 21

2.3、设置vsftpd服务开机自启

systemctl enable vsftpd.service

3、配置 FTP 

3.1、了解 VSFTP 配置

vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:

vsftpd.conf 为主要配置文件

ftpservers 配置禁止访问 FTP 服务器的用户列表

user_list 配置用户访问控制

3.2、 配置

3.2.1、必要配置

vim /etc/vsftpd/vsftpd.conf

# 是否允许匿名用户访问

anonymous_enable=NO

# 是否将所有用户限制在主目录

chroot_local_user=YES

3.2.2、按需求配置(可选)

# 是否允许本地用户(即linux系统中的用户帐号)登录FTP服务器

local_enable=YES

# 是否允许本地用户对FTP服务器文件具有写权限

write_enable=YES

# 掩码,本地用户默认掩码为077,也可根据个人喜好将其设置为其他值

local_umask=022

# 是否激活目录欢迎信息功能

dirmessage_enable=YES

# 是否让系统自动维护上传和下载的日志文件

xferlog_enable=YES

# 是否设定FTP服务器将启用FTP数据端口的连接请求

connect_from_port_20=YES

# 是否以标准xferlog的格式书写传输日志文件

xferlog_std_format=YES

# 是否允许用户在主目录中上传

allow_writeable_chroot=YES

# 是否允许监听,如果设置为YES,则vsftpd将以独立模式运行

listen=YES listen_ipv6=NO

# 设置PAM外挂模块提供的认证服务所使用的配置文件名

pam_service_name=vsftpd

# 是否允许ftpusers文件中的用户登录FTP服务器

userlist_enable=NO

# 是否使用tcp_wrappers作为主机访问控制方式

tcp_wrappers=YES

3.3、创建 FTP 用户

创建一个用户 ftpuser

useradd ftpuser

为用户 ftpuser 设置密码

echo "ftp123456" | passwd ftpuser --stdin

3.4、限制该用户仅能通过 FTP 访问

限制用户 ftpuser只能通过 FTP 访问服务器,而不能直接登录服务器:

usermod -s /sbin/nologin ftpuser

3.5、为用户分配主目录

为用户 ftpuser创建主目录并约定:

/data/ftp 为主目录, 该目录不可上传文件

/data/ftp/uploadfile文件只能上传到该目录下

在/data中创建相关的目录

mkdir -p /data/ftp/uploadfile

设置访问权限

chmod a-w /data/ftp && chmod 777 -R /data/ftp/uploadfile

设置为用户的主目录:

usermod -d /data/ftp ftpuser

4、注意事项:

4.1、pam 保护机制 

该配置项的含义为仅允许用户的shell为 /etc/shells

文件内的shell命令时,才能够成功

而创建ftp用户时,为了禁止ssh登录,一般多为/bin/false 、/usr/sbin/nologin 等,显然不是一个有效的bash,也就无法登录了。

解决方法:可选一种方式

vim /etc/pam.d/vsftpd

(1)将auth required pam_shells.so修改为

auth required pam_nologin.so 

(2)注释掉auth required pam_shells.so

vim /etc/pam.d/vsftpd

​重启vsftpd

systemctl restart vsftpd.service

4.2、去除用户主目录的写权限(可选)

用命令"chmod a-w 你要设置的路径"去除用户主目录的写权限,或者在vsftpd的配置文件中增加下列一项:

vim /etc/vsftpd/vsftpd.conf

allow_writeable_chroot=YES

另外,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

4.3、防火墙配置

注意:记得关闭防火墙或者开放FTP默认端口(21)

CentOS 7默认使用的是firewall作为防火墙

4.3.1、查看防火墙状态

firewall-cmd --state

4.3.2、停止firewall

systemctl stop firewalld.service

4.3.3、禁止firewall开机启动

systemctl disable firewalld.service

4.3.4、关闭selinux

进入到/etc/selinux/config文件

vi /etc/selinux/config

SELINUX=enforcing

改为

SELINUX=disabled

5、访问FTP

通过 Windows 资源管理器访问

Windows 用户可以复制下面的链接

ftp://服务器ip

到资源管理器的地址栏访问:

ftp://192.168.10.220

其中为登录FTP的用户名,ftp123456为登录FTP的密码

账号密码

ftpuser

ftp123456

6、日志查看

如果需要查看vsftpd的日志,需要在配置文件中,加入配置项:

dual_log_enable=YES

vsftpd_log_file=/var/log/vsftpd.log

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值