当前位置: 首页 > 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.mrgr.cn/news/37592.html

相关文章:

  • GUI-单选框和多选框
  • Cilium + ebpf 系列文章- (六)Cilium-BGP与分发-EXTERNAL-IP
  • 2024年项目经理不能错过的开源项目管理系统大盘点:全面指南
  • Codeforces Round 972 (Div. 2) A~E
  • THREE.JS法线Shader
  • 为什么优秀的工厂更重视生产现场
  • en造数据结构与算法C# 之 二叉排序树的增/查
  • 视觉分析在垃圾检测中的应用
  • c#中字符串处理的技巧集合
  • IGZO基底无电容DRAM单元前景看好
  • 视频生成模型哪家强?豆包可灵通义海螺全面评测【AI评测】
  • 复现 BEVfusion bug集合(4090d)
  • 实例讲解电动汽车故障限功限速控制策略及Simulink建模方法
  • RuoYi-Vue实现后台管理系统去掉首页/默认跳转动态路由第一个路由
  • 鸿蒙OS开发之动画相关示例分享, 关于弹出倒计时动画的实战案例源码分享
  • 网通产品硬件设计工程师:汽车蓝牙收发器用网络隔离变压器有哪些选择呢?
  • 2025台球展,2025河南台球及配套设施展览会3月举办
  • 【10月 EI会议推荐】电子信息技术、人工智能、智能制造、计算机技术等方向会议推荐
  • 一些写论文必须要知道的神仙级网站!芝士AI(paperzz)
  • 2024下半年软考准考证打印什么时候打印?