一、前言介绍
FTP(文件传输协议)是一种标准的客户机-服务器网络协议,允许用户在远程网络之间传输文件。
有几个开源的FTP服务器可用于Linux。最受欢迎和广泛使用的是pureftpd、proftpd和vsftpd。
在本教程中,我们将在Centos7上安装vsftpd(非常安全的ftp守护进程)。它是一个稳定、安全和快速的FTP服务器。我们还将向您展示如何配置vsftpd,以将用户限制到其主目录,并使用ssl/tls加密整个传输。
要获得更安全和更快的数据传输,请使用SCP或SFTP。
二、先决条件
在继续本教程之前,请确保您以具有sudo权限的用户身份登录。
sudo的工作过程如下:
1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
3,若密码输入成功,则开始执行sudo后续的命令
4,root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则)
5,若欲切换的身份与执行者的身份相同,也不需要输入密码
visudo使用vi打开/etc/sudoers文件,但是在保存退出时,visudo会检查内部语法,避免用户输入错误信息
visudo需要root权限
[hadoop@localhost ~]$ visudo
visudo:/etc/sudoers:权限不够
visudo:/etc/sudoers:权限不够
三、在CentOS 7上安装vsftpd
1、vsftpd包在默认的CentOS存储库中可用。要安装它,请发出以下命令:
$ sudo yum install vsftpd
2、安装包后,启动vsftpd守护进程并使其在启动时自动启动
$
sudo systemctl start vsftpd
$ sudo systemctl enable vsftpd
3、您可以通过vsftpd服务的状态来验证它是否正在运行:
vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago
Main PID: 29612 (vsftpd)
CGroup: /system.slice/vsftpd.service
└─29612 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
四、配置vsftpd(重点标记,我自己错误了好多次才成功的,错了就删除了重新配置)
配置vsftpd服务涉及编辑/etc/vsftpd/vsftpd.conf配置文件。大多数设置都在配置文件中有很好的文档记录。有关所有可用选项,请访问官方vsftpd页面。 http://vsftpd.beasts.org/vsftpd_conf.html(官方介绍,比较好用,这里就不翻译了)
在下面的部分中,我们将介绍配置安全vsftpd安装所需的一些重要设置。
1、首先打开vsftpd配置文件:
$ sudo vi /etc/vsftpd/vsftpd.conf
2、编辑配置文件( /etc/vsftpd/vsftpd.conf)
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
tcp_wrappers=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=30000
pasv_max_port=31000
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES
8、保存文件并重新启动vsftpd服务以使更改生效:
8、保存文件并重新启动vsftpd服务以使更改生效:
$ sudo systemctl restart vsftpd
原文:https://www.cnblogs.com/sopcce/p/10743241.html