当前位置: 首页 > news >正文

Linux-RedHat7.4-服务器搭建FTP

Linux FTP

1、安装vsftpd和lftp:

yum -y install vsftpd lftp ftp

2、创建用户:

vsftpd提供了三种认证方式:本地用户、虚拟用户、匿名用户,本文介绍本地用户的认证方式。

注:本文创建的本地用户为只能访问ftp,不可以登录linux。

useradd -d data001 -s /sbin/nologin nginx01
passwd nginx01
Log*#06#
useradd -d data002-s /sbin/nologin nginx02
passwd nginx02
Log*#06#
3、新建chroot_list文件:
cd /etc/vsftpd
touch chroot_list

4、配置用户访问权限:

1)vsftpd.conf:

vim /etc/vsftpd/vsftpd.conf
 
修改以下几项:


#禁用匿名登录,默认是启用
anonymous_enable=NO
#NO表示所有用户都可以跳出家目录,YES表示都不可以跳出,默认为都可以跳出
chroot_local_user=NO
#启用可以或不可以跳出家目录的例外
chroot_list_enable=YES
#当chroot_local_user=NO时,chroot_list里面配置的用户不可以跳出家目录,当chroot_local_user=YES时,chroot_list里面配置的用户可以跳出家目录
chroot_list_file=/etc/vsftpd/chroot_list#添加以下几项:#NO表示所有用户均不可以登录ftp,YES表示所有用户均能访问ftp,默认是YES
userlist_deny=NO
#当userlist_deny=NO时,user_list是白名单,当userlist_deny=YES时,user_list是黑名单
userlist_file=/etc/vsftpd/user_list

此时,解决方法有两个:

第一种,就是在vsftpd.config里面添加“allow_writeable_chroot=YES”:

vim /etc/vsftpd/vsftpd.conf

用户家目录可写,默认是只读的

allow_writeable_chroot=YES

注:allow_writeable_chroot=YES的作用:
如果设置了用户不能跳出家目录,那么在vsftp2.3版本之后要求家目录默认只能是只读的,此时如果家目录权限不是只读的,就不能登录,登录会报以下错误:Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()。

第二种,把家目录设置为只读:“chmod a-w /ftpfile”:

chmod a-w /ftpfile
2)chroot_list:

添加test用户

vim /etc/vsftpd/chroot_list

test
3)user_list:

添加test用户

vim /etc/vsftpd/user_list

test
4)vsftpd:
此时,如果不修改vsftpd文件的配置,登录会报530错误:Login failed: 530 Login incorrect.

解决方法有两个:

第一:注释auth   required        pam_shells.so;

vim /etc/pam.d/vsftpd

#auth   required        pam_shells.so

第二:pam_shells.so改为pam_nologin.so

vim /etc/pam.d/vsftpd

auth   required        pam_nologin.so
5、修改selinux配置:
如果不修改selinux配置,登录会报500错误:vsftpd 500 OOPS: chroot,因为test用户的shell是nologin的。

此时,解决方法有两个:

第一,关闭selinux:

vim /etc/selinux/config

SELINUX=disabled

第二,修改ftp_full_access为on:

getsebool -a | grep ftpd
setsebool -P ftpd_full_access 1
setenforce 1
6、重启:
reboot
7、关闭防火墙:

(1)设置开机启用防火墙:

systemctl enable firewalld.service
(2)设置开机禁用防火墙:

systemctl disable firewalld.service
(3)启动防火墙:

systemctl start firewalld
(4)关闭防火墙:

systemctl stop firewalld
(5)检查防火墙状态:

systemctl status firewalld 
(6)查看防火墙开启端口表:

firewall-cmd --list-ports

8、启动vsftpd服务:
#启动服务
systemctl start vsftpd.service
#停止服务
systemctl stop vsftpd.service
#重启服务
systemctl restart vsftpd.service
#开机自启
systemctl enable vsftpd.service
#查看自启列表
systemctl -l
systemctl -l | grep vsftpd
9、连接:

1.打开终端。在终端中输入以下命令来连接到FTP服务器:

ftp <服务器地址或IP>

2.输入用户名和密码。连接到FTP服务器后,系统会提示你输入用户名和密码:

Name: <用户名>
Password: <密码>

3.导航FTP服务器。登录成功后,你可以使用ftp命令导航FTP服务器的文件和目录。以下是一些常用的命令:

  • ls:列出当前目录下的文件和目录。
  • cd <目录>:进入指定的目录。
  • get <文件>:从FTP服务器下载指定的文件。
  • put <文件>:上传文件到FTP服务器。
  • pwd:显示当前所在的FTP服务器目录。
  • quit:退出FTP连接。
get file.txt
put file.txt

4.退出FTP连接。当你完成了对FTP服务器的操作后,可以使用以下命令退出FTP连接:

quit

(完)

http://www.lryc.cn/news/447947.html

相关文章:

  • 遍历递归数结构,修改里的disabled值
  • 怎么通过AI大模型开发一个网站?
  • 【Kubernetes】常见面试题汇总(四十)
  • 数据仓库-数据命名标准规范
  • OCR识别系统 YOLOv8 +Paddle 方案落地
  • 828华为云征文|部署去中心化网络的 AI 照片管理应用 PhotoPrism
  • 【PAM】Linux登录认证限制
  • Go语言Mutex的优化与TryLock机制解析
  • 基于TSN的实时通信网络延迟评估技术
  • 初识ZYNQ——FPGA学习笔记15
  • 理论-链表的头结点
  • oracle 分表代码示例
  • 【MySQL】regexp_replace在MySQL以及regexp extract all在MySQL的用法
  • 详解 FFmpeg 中的 -map 选项
  • 学习threejs,绘制二维线
  • 跑lvs出现soft connect怎么处理?
  • 实验1 Python语言基础一
  • 多线程相关内容
  • mybatis-puls快速入门
  • Pool 和 PG 架构(二)
  • 客户服务升级指南:如何以细节赢得客户忠诚
  • 闲盒支持的组网方式和注意事项
  • 828华为云征文|华为云Flexus云服务器X实例之openEuler系统下搭建MaxKB开源知识库问答系统
  • [Linux]:信号(上)
  • 浙大数据结构:05-树9 Huffman Codes
  • scrapy爬虫基础
  • 利用H5无插件播放RTSP流的实现方案
  • CSS文本格式化
  • python的 __name__和__doc__属性
  • Go语言中的Mutex实现探讨