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

图解FTP服务器配置:实体用户方式访问案例

任务要求:

    某企业搭建一个内部ftp服务器,要求实现如下功能:

  1. 用户登录时显示一些欢迎信息;
  2. 系统账户root、bin不能登录主机;
  3. 实体用户ligang、liuqiang能够登录ftp服务器;
  4. 实体用户ligang、liuqiang不能登录本地系统,并将这两个账户的根目录限制在/home,进行上传、下载、建立目录和修改文件等操作,不能进入该目录以外的任何目录。

任务分析:

ftp服务器通常用于企业单位内部,并不对外开放,用户均为企业内部的员工,因此,服务器相对安全,用户访问ftp常常使用系统的账号,实现对文件资源的上传和下载,这种情况下,系统管理员配置ftp服务器采用实体用户的方式,更为有效直接。当然,为了服务器的安全,仍然要对用户的访问权限进行限制,使用chroot功能限制用户的使用目录,将用户的活动范围限制在某一个目录里,不可进入其他的目录,也无法随意浏览整个文件系统,这样做的好处能够防止使用者读取重要的文档和敏感的文件,减少入侵者所带来的危害,从而增强系统的安全性。

搭建环境:

1. 宿主机Win10

2.VMware WorkStation pro17

3.OpenEuler虚拟主机oue-master、oue-client

操作步骤:

1.在虚拟机oue-client终端,新增用户ligang和liuqiang。

useradd -s /sbin/nologin ligang

useradd -s /sbin/nologin liuqiang

2.为新增用户设置密码。如图所示。

 3.打开终端,输入vi /etc/vsftpd/vsftpd.conf,打开配置文件,修改配置文件。

[root@loclahost ~]vi /etc/vsftp/vsftpd.conf              

# 禁止匿名用户登录
anonymous_enable=NO

# 允许本地用户登录
local_enable=YES

# 允许上传文件
write_enable=YES

# 启用用户列表功能
userlist_enable=YES

# 本地用户被限制在其主目录
chroot_local_user=YES

# 允许写入的chroot环境
allow_writeable_chroot=YES

# 指定用户列表文件的路径
chroot_list_file=/etc/vsftpd/user_list

4.打开/etc/vsftpd/user_list文件,添加两用户。

ligang

liuqiang

5.重新启动vsftp服务器。如图所示。

6.修改用户本地目录的权限。如图所示。

7.测试效果

(1)在虚拟机oue-master中安装客户端ftp

dnf -y install ftp

(2)在 终端中输入ftp 192.168.157.129,登录oue-client中的ftp服务器。

(3) 连接ftp服务器成功,提示输入登录用户姓名,这里输入liuqiang。

(4) 提示输入密码。

(5) 密码验证通过,登录成功。

(6) 运行pwd、ls命令查看当前目录内容。

(7) 运行mkdir命令,创建目录ceshi,提示目录创建成功。

整个测试过程如图所示。

相关文章:

  • SQL CREATE TABLE 语句
  • Vxe UI vue vxe-table vxe-text-ellipsis 如何实现单元格多行文本超出、多行文本溢出省略
  • 【1米C-SAR卫星】
  • 【Rust网络编程】开发一个图片代理和统计服务
  • Java后端中的资源管理:从数据库连接池到线程池的使用
  • 工业现场网关模块:现代制造业的数据枢纽
  • 设计模式、系统设计 record part02
  • JavaWeb招聘信息管理系统
  • 【高景一号卫星】
  • Kubernetes从零到精通(15-安全)
  • 在Java中实现数据脱敏:敏感信息的安全存储与传输
  • Java--ArrayList(数据结构顺序表)
  • spring揭秘24-springmvc02-5个重要组件
  • 使用Python和OpenCV生成灰阶图像
  • mybatisplus code generator columnNaming 不起作用
  • codis proxy处理流程
  • co模块的前端实现
  • exif信息对照
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • leetcode388. Longest Absolute File Path
  • Mocha测试初探
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • nodejs实现webservice问题总结
  • Protobuf3语言指南
  • Python进阶细节
  • Python连接Oracle
  • Redis 中的布隆过滤器
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 复杂数据处理
  • 技术发展面试
  • 跳前端坑前,先看看这个!!
  • 通过git安装npm私有模块
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​zookeeper集群配置与启动
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • (007)XHTML文档之标题——h1~h6
  • (1)(1.11) SiK Radio v2(一)
  • (1)常见O(n^2)排序算法解析
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (八)c52学习之旅-中断实验
  • (差分)胡桃爱原石
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (转)负载均衡,回话保持,cookie
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .Net 4.0并行库实用性演练
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET delegate 委托 、 Event 事件
  • .NET HttpWebRequest、WebClient、HttpClient