centos 7.6 下搭建 用 yum FTP 并用 FileZilla等登录测试

远程连接并登录到 Linux 实例。推荐 xshell
运行命令yum install -y vsftpd安装 vsftpd。出现下图表示安装成功。
运行以下命令进入/etc/vsftpd目录,并查看该目录下的文件。

cd /etc/vsftpd
ls

说明:
/etc/vsftpd/vsftpd.conf 是 vsftpd 的核心配置文件。
/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
/etc/vsftpd/user_list 是白名单文件,此文件里的用户允许访问 FTP 服务器。
运行以下命令设置FTP服务开机自启动。

systemctl enable vsftpd.service

运行以下命令启动 FTP 服务。

systemctl start vsftpd.service

运行以下命令查看 FTP 服务监听的端口。

netstat -antup | grep ftp

这里会显示 9379/vsftpd 监听 21 端口

步骤二: 配置 vsftpd
vsftpd 安装后默认开启了匿名访问 FTP 服务器的功能。使用匿名访问,您无需输入用户名密码即可登录 FTP 服务器,但没有权限修改或上传文件。
本教程介绍了以下两种配置 vsftpd 的方法,并提供了相关的参数说明,您可以根据具体需要进行参考。
• 配置匿名用户上传文件权限
• 配置本地用户登录
配置匿名用户上传文件权限
匿名访问FTP服务器是一种不安全的访问模式,任何人无需密码验证就可以登录到FTP服务器,这种模式一般只用来保存不重要的公开文件,不推荐在生产环境中使用。如果您需要配置匿名用户上传文件的权限,可以参考以下步骤配置:

  1. 修改/etc/vsftpd/vsftpd.conf。

  2. 先将vsftpd.conf 做个备份文件,以免修改后无法还原 (纯属个人习惯)

    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

i. 运行vim /etc/vsftpd/vsftpd.conf
ii. 按i 键进入编辑模式。
iii. 将写权限修改为write_enable=YES。
iv. 将匿名上传权限修改为anon_upload_enable=YES
如下图位置:
在这里插入图片描述
v. 按Esc键退出编辑模式,然后输入:wq保存并退出文件。

  1. 运行以下命令更改/var/ftp/pub目录的权限,为 FTP 用户添加写权限,并重新加载配置文件。
chmod o+w /var/ftp/pub/

systemctl restart vsftpd.service

配置本地用户登录:
本地用户登录是指用户使用 Linux 操作系统的账号和密码登录 FTP 服务器。
vsftpd 安装后默认只支持匿名访问 FTP 服务器,如果您试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 服务拒绝。您可以参考以下步骤配置 vsftpd 服务,以使用Linux账号和密码访问FTP服务器。

  1. 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest。

    useradd ftptest

  2. 运行以下命令修改ftptest 用户的密码。

    passwd ftptest

  3. 创建一个供FTP服务使用的文件目录。
    mkdir /var/ftp/test(这里的test 会和 配置文件的对应 这里做个标识 @test@)

  4. 更改/var/ftp/test目录的拥有者为ftptest。

    chown -R ftptest:ftptest /var/ftp/test

  5. 输入命令 vim /etc/vsftpd/vsftpd.conf 打开vsftpd.conf配置文件并按键i进入编辑模式。

  6. 修改vsftpd.conf配置文件。

全部复制粘贴到 vsftpd.conf 全部替换掉原来的配置项

#禁止匿名登录FTP服务器
	anonymous_enable=NO
	##允许本地用户登录FTP服务器
	local_enable=YES
	##设置本地用户登录后所在的目录
	local_root=/var/ftp/test#(@test@)标识
	##全部用户被限制在主目录
	chroot_local_user=YES
	##启用例外用户名单
	chroot_list_enable=YES
	##指定例外用户列表,这些用户不被锁定在主目录
	chroot_list_file=/etc/vsftpd/chroot_list
	
	#配置其他参数
	allow_writeable_chroot=YES
	local_umask=022
	dirmessage_enable=YES
	xferlog_enable=YES
	connect_from_port_20=YES
	xferlog_std_format=YES
	listen=YES
	pam_service_name=vsftpd
	userlist_enable=YES
	tcp_wrappers=YES
	write_enable=YES# #没这两个 无法上传登录
	local_umask=022#没这两个 无法上传登录

7.	按Esc键退出编辑模式,然后按键:wq保存并退出文件。不懂去百度 vim 的编辑和保存
8.	运行 
	

	vim /etc/vsftpd/chroot_list 
命令创建chroot_list文件,并写入不受只可以访问其主目录限制的例外用户名单。

说明 如果没有例外用户也必须要有 chroot_list文件,内容可为空。
10.	按键Esc退出编辑模式,然后按键:wq保存并退出文件。
11.	运行以下命令重启vsftpd服务。


systemctl restart vsftpd.service
vsftpd.conf 的配置文件参数说明
运行命令cat /etc/vsftpd/vsftpd.conf查看配置文件内容。

参数	说明(这个就是个手册,你可以将 上面全部复制粘贴的内容对比手册进行替换,复制阿里云) 
		anonymous_enable=YES	接受匿名用户
		no_anon_password=YES	匿名用户login时不询问口令
		anon_root=(none)	匿名用户主目录
		local_enable=YES	接受本地用户
		local_root=(none)	本地用户主目录
		用户权限控制:
参数	说明(这个就是个手册,你可以将 上面全部复制粘贴的内容对比手册进行替换,复制阿里云)
		write_enable=YES	可以上传(全局控制)
		local_umask=022	本地用户上传文件的umask
		file_open_mode=0666	上传文件的权限配合umask使用
		anon_upload_enable=NO	匿名用户可以上传
		anon_mkdir_write_enable=NO	匿名用户可以建目录
		anon_other_write_enable=NO	匿名用户修改删除
		chown_username=lightwiter	匿名上传文件所属用户名

步骤三: 设置安全组
搭建好 FTP 站点后,您需要在实例安全组的入方向添加放行下列 FTP 端口的规则。
我在阿里云上 将安全组的端口 20 21 22 全都配置上了,爱用哪个用哪个呗,再配置个端口的范围:1024到65535

这样登录就可以登录了,客户端的登录的端口 20 21 22 都试试,这里无法上传图片,去阿里云后台配置安全组
举个例子:授权对象:0.0.0.0/0
端口范围:(配置20,21,22)的话 就分别写成 20/2021/2122/22 是 分别写啊!!!,还有这个范围是必须配置的 1024/65535

如果想想更换某个用户的的目录 用root

vim /etc/passwd
		新建的用户都在最下面 将该用户同行 复制一份 并将原来的用 # 注释掉,在下面粘贴 并修改  ‘ :: ’ 后面的路径 然后 vim 退出 保存

OK 大功告成

发布了21 篇原创文章 · 获赞 7 · 访问量 1430

猜你喜欢

转载自blog.csdn.net/weixin_37647596/article/details/94437616