linux系统搭建ftp服务器及创建用户——centos7.3「建议收藏」

发布时间 - 2025-07-17 00:00:00    点击率:

大家好,很高兴再次与大家见面,我是你们的朋友全栈君。

在Linux系统下搭建FTP服务器并不难,初次配置时花费了不少时间学习Linux命令,因此我写下了这篇博客,希望能对大家有所帮助。

环境配置: 在Windows操作系统中安装SecureCRT和FlashFXP软件,服务器端使用的是CentOS7.3操作系统。在客户端,使用SecureCRT软件以root账号远程登录到服务器端。

重点记录:

  • 相关用户的创建
  • 修改文件的权限控制
  • FTP登录用户白名单
  • 根目录切换

FTP是什么? FTP(文件传输协议)是一种用于在网络上进行文件传输的标准网络协议。

搭建FTP服务器的目的: 从Windows系统上传程序文件到Linux系统的服务器中。

检查安装vsftpd软件:

要使用到的Linux命令:

  • “|”:管道,用于将前一个命令的结果作为后一个命令的输入。
  • rpm:RPM Package Manager,RPM软件包管理器,与RedHat相关。
  • grep:Globally search a Regular Expression and Print,全局匹配正则搜索并打印。
  • yum:Yellow dog Updater, Modified,大黄更新与修改,基于RPM的软件包管理器。

查看所有已安装的软件包,并在结果中查找包含vsftp的文件:

rpm -qa | grep vsftpd

如果没有安装,则使用yum命令进行安装:

yum -y install vsftpd

创建用户: 使用useradd命令创建用户,默认在/home文件夹下创建与用户名相同的文件作为该用户的文件:

useradd xiao
passwd xiao  #(回车)为用户xiao设置登录密码

创建用户并指定用户目录: 在/var目录下创建www文件夹,在www文件夹中创建site和da文件夹:

cd /var
mkdir www
cd www
mkdir site
mkdir da

创建用户da并指定用户目录为/var/www/da:

useradd -d /var/www/da da
passwd da

修改xiao用户的用户目录为/var/www/site:

usermod -d /var/www/site xiao

备注:如果修改xiao的操作失败,提示有相关进程在使用这个用户,则先杀死这些进程后再修改:

ps -u xiao | awk '{print $1}' | grep -vi pid | xargs kill -9

查看新创建的用户信息:

tail /etc/passwd

配置/etc/vsftpd/vsftpd.conf文件: 查看该文件的内容:

cat /etc/vsftpd/vsftpd.conf

切换当前工作目录到/etc/vsftpd:

cd /etc/vsftpd

启用可以登录FTP的用户白名单配置:

vi vsftpd.conf

输入:/userlist 在vsftpd.conf文件中查找userlist相关配置。按下i键进入插入模式,将按下图配置三个选项,则user_list文件为FTP用户白名单。按下esc键退出输入模式进入命令模式,输入:wq 保存并退出。

userlist_enable=YES     #启动用户列表
userlist_deny=NO        #决定是否对用户列表的用户拒绝访问FTP
userlist_file=/etc/vsftpd/user_list

在user_list中写入da和xiao这两个用户:

vi user_list

按下i键进入插入模式,一行一个用户名,输入da和xiao。按下esc键退出输入模式进入命令模式,输入:wq 保存并退出。

查看vsftpd服务的运行状态:

systemctl status vsftpd

如果最后一条状态是stopped,则启动vsftpd:

systemctl start vsftpd

如果最后一条状态是started,则重启vsftpd:

systemctl restart vsftpd

在Windows系统中使用FlashFXP客户端登录: 使用da和xiao用户分别登录,发现可以在客户端浏览整个Linux系统的文件夹。继续配置vsftpd.conf文件,配置vsftpd.conf锁定根目录:

local_root=/var/www        #本地用户登录后自动转到的FTP根目录
chroot_local_user=YES       #将所有用户限定在指定的主目录内
chroot_list_enable=NO       #不启用列外的用户列表
chroot_list_file=/etc/vsftpd/chroot_list  #指定列外的用户列表文件

配置完之后重启vsftpd服务。

使用FlashFXP客户端登录并创建文件夹: 使用da用户名登录,在da文件夹中创建一个新的文件夹test。

结果失败。

配置文件夹权限: 切换工作目录到/var/www:

cd /var/www

查看www文件夹中所包含的文件的信息:

ll

上图显示的信息为,da和site文件夹属于root用户,属于root用户组。因为是root用户创建的文件夹,root用户可以对da和site文件夹进行r(读)、w(写)、x(执行)等操作,root用户组内的用户可以对da和site文件夹进行r(读)、x(执行)等操作,其他用户可以对da和site文件夹进行r(读)、x(执行)等操作。da和xiao这两个用户属于其他用户,故不能执行创建文件夹(写)的操作。

改文件的权限,将da的拥有者改为da,site的拥有者改为xiao:

chown da:da da

chown xiao:xiao site

这个时候,他们可以在各自拥有的文件夹中创建文件,但不可以到对方的文件夹中创建文件。

修改da用户的所属用户组,并修改site文件夹的权限,把da用户纳入xiao的用户组:

usermod -g xiao da

如图所示:da用户的用户组ID值和xiao的用户组ID值变得一样了。

修改site文件夹的权限,允许同一个用户组的用户拥有rwx权限:

chmod 775 site

此时da用户可以在site文件夹中创建新的文件夹。

权限值的解读: 文件夹权限:

  • r==>可读
  • w==>可写
  • x==>可执行
  • r=4
  • w=2
  • x=1
  • 777 代表 rwx-rwx-rwx,所有用户都可读可写可执行。

发布者:全栈程序员栈长,转载请注明出处:https://www./link/e8f4d8f59f34ac30a908af58d123135a 原文链接:https://www./link/c8377ad2a50fb65de28b11cfc628d75c


# linux  # centos  # windows  # 操作系统  # ai  # linux命令  # red  # html  # print  #   # var  # https  # 按下  # 用户列表  # 软件包  # 夹中  # 客户端  # 用户可以  # 这两个  # 管理器  # 重启  # 可执行 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  如何安全更换建站之星模板并保留数据?  如何在万网自助建站中设置域名及备案?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  如何彻底卸载建站之星软件?  如何在阿里云通过域名搭建网站?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  如何在云指建站中生成FTP站点?  高防服务器租用指南:配置选择与快速部署攻略  Laravel如何使用Sanctum进行API认证?(SPA实战)  利用vue写todolist单页应用  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  如何基于云服务器快速搭建个人网站?  如何在IIS7中新建站点?详细步骤解析  晋江文学城电脑版官网 晋江文学城网页版直接进入  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  javascript如何操作浏览器历史记录_怎样实现无刷新导航  如何在IIS管理器中快速创建并配置网站?  在线制作视频网站免费,都有哪些好的动漫网站?  高防服务器租用首荐平台,企业级优惠套餐快速部署  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  香港服务器建站指南:免备案优势与SEO优化技巧全解析  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  制作电商网页,电商供应链怎么做?  Laravel如何配置任务调度?(Cron Job示例)  Laravel如何使用模型观察者?(Observer代码示例)  如何在宝塔面板创建新站点?  网站页面设计需要考虑到这些问题  昵图网官方站入口 昵图网素材图库官网入口  如何在腾讯云服务器快速搭建个人网站?  Laravel如何处理表单验证?(Requests代码示例)  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  如何挑选最适合建站的高性能VPS主机?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel如何实现本地化和多语言支持?(i18n教程)  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  简单实现Android文件上传  如何在阿里云部署织梦网站?  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  网站制作价目表怎么做,珍爱网婚介费用多少?  如何快速选择适合个人网站的云服务器配置?