CentOS 8 的FTP服务的配置与管理

目录

安装配置

FTP服务配置实例

FTP服务配置实例2(本地用户登录)项目需求


安装配置

1.安装vsftpd
(1)使用dnf命令安装vsftpd服务(光盘挂载、yum源的制作请参考前面相关内容)。

[root@Server01 ~]#rpm –qa |grep  vsftpd        //查看vsftpd服务是否安装
[root@Server01 ~]# mount  /dev/cdrom  /media
[root@Server01 ~]# dnf  clean  all    //安装前先清除缓存
[root@Server01 ~]# dnf  install  vsftpd  -y
[root@Server01 ~]# dnf  install  ftp  -y  //同时安装ftp软件包

2.重新启动vsftpd服务、随系统启动,开放防火墙,开放SELinux。

[root@Server01 ~]# systemctl  restart  vsftpd
[root@Server01 ~]# systemctl  enable  vsftpd
[root@Server01 ~]# firewall-cmd  --permanent  --add-service=ftp
[root@Server01 ~]# firewall-cmd  --reload
[root@Server01 ~]# firewall-cmd  --list-all
[root@Server01 ~]# setsebool -P  ftpd_full_access=on

3.主配置文件(/etc/vsftpd/vsftpd.conf)

[root@Server01 ~]# mv  /etc/vsftpd/vsftpd.conf   /etc/vsftpd/vsftpd.conf.bak                            //备份主配置文件
[root@Server01 ~]#  grep  -v  “#”  /etc/vsftpd/vsftpd.conf.bak  >  /etc/vsftpd/vsftpd.conf    //过滤重输出
[root@Server01 ~]# cat  /etc/vsftpd/vsftpd.conf   -n                                                                   //按行号查看文件
[root@Server01 ~]# cat  /etc/vsftpd/vsftpd.conf

anonymous_enable=YES   # 开启匿名用户登录
local_enable=YES   # 开启本地用户登录
write_enable=YES   # 允许本地用户写入
local_umask=022   # 设置本地用户创建文件的umask值为022
dirmessage_enable=YES  # 激活消息目录
xferlog_enable=YES   # 是否启用日志
connect_from_port_20=YES  # 主动模式端口为20
xferlog_std_format=YES  # 将日志格式设置为标准格式
listen=NO    # 不可同时将listen与listen_ipv6都设置为YES
listen_ipv6=YES   # 允许IPv4或IPv6客户端的连接
pam_service_name=vsftpd  # PAM(可插拔认证)服务的名称为vsftpd
userlist_enable=YES   # 允许用户列表生效
tcp_wrappers=YES   # 使用tcp_wrappers作为主机访问控制方式
 



FTP服务配置实例


项目需求
搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp。

第1步:新建测试文件,编辑/etc/vsftpd/vsftpd.conf。

[root@Server01 ~]# date  > /var/ftp/pub/file1
[root@Server01 ~]# vim   /etc/vsftpd/vsftpd.conf

第2步:在文件后面添加如下4行(语句前后一定不要带空格,若有重复的语句请删除或直接在其上更改,“#”及后面的内容不要写到文件里)。
 


anonymous_enable=YES                     #允许匿名用户登录

anon_root=/var/ftp                             #设置匿名用户的根目录为/var/ftp

anon_upload_enable=YES                   #允许匿名用户上传文件

anon_mkdir_write_enable=YES           #允许匿名用户创建文件夹

第3步:允许SELinux,让防火墙放行ftp服务,重启vsftpd服务。
selinux的设置:

[root@Server01 ~]# setsebool   -P   ftpd_full_access=on    //设置selinux规则的布尔值,开放ftp访问
或者:
[root@Server01 ~]#setenforce  0                    //设置运行级别为permissive
或者
[root@Server01 ~]#vi  /etc/selinux/config              //永久关闭selinux
SELINUX=disabled

防火强的设置:

[root@Server01 ~]# firewall-cmd  --list-all
[root@Server01 ~]# firewall-cmd  --permanent  --add-service=ftp
[root@Server01 ~]# firewall-cmd  --reload
[root@Server01 ~]# firewall-cmd  --list-all

重启服务:

[root@Server01 ~]# systemctl  restart  vsftpd

第4步:访问测试。

Centos 8客户端(Client2):
(1)安装ftp软件包
(2)在终端中输入ftp  192.168.10.1,使用匿名用户ftp登录,密码无需输入

        ftp>pwd             //查看当前所在位置
        ftp>ls                 //查看当前目录里的内容
        ftp>cd   pub      //进入到pub目录
        ftp>ls                 //查看当前目录里的内容
        ftp>mkdir   newdir         //提示报错

原因是:系统本地权限未设置!
解决办法:
服务器端:
[root@Server01 ~]#  chmod   o+w  /var/ftp/pub            //给其他用户赋予写权限
[root@Server01 ~]# systemctl   restart  vsftpd

Centos 8客户端(Client2):
(3)#cal  >file2
        在终端中输入ftp  192.168.10.1,使用匿名用户ftp登录,密码无需输入

        在终端中输入ftp  192.168.10.1,使用匿名用户ftp登录,密码无需输入
        ftp>lcd   pub      //进入到pub目录
        ftp>ls                 //查看当前目录里的内容
        ftp>mkdir   newdir         
        ftp> get     file1      //file1下载到哪里去了?
        

        ftp> put    file2
        ftp>ls                   //验证上传成功与否

        ftp>delete  file1    //删除成功与否


提示:anon_other_write_enable=YES #表示允许匿名用户修改目录名或者删除目录。




FTP服务配置实例2(本地用户登录)
项目需求

       公司内部现在有一台FTP服务器和Web服务器,FTP主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等。公司现有两个部门负责维护任务,两者分别使用team1和team2账号进行管理。要求仅允许team1和team2账号登录FTP服务器,但不能登录本地系统,并将这两个账号的根目录限制为/web/www/html,不能进入该目录以外的任何目录。

第1步:建立维护网站内容的FTP账号team1、team2,并设置密码

[root@Server01 ~]# useradd  team1
[root@Server01 ~]# useradd  team2
[root@Server01 ~]# passwd   team1
[root@Server01 ~]# passwd   team2

第2步:配置vsftpd.conf主配置文件并做相应修改

[root@Server01 ~]# vim  /etc/vsftpd/vsftpd.conf
local_enable=YES 
local_root=/web/www/html   
chroot_local_user=NO    
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES


第3步:防火墙放行和SELinux允许!重启FTP服务。

[root@Server01 ~]# firewall-cmd  --permanent  --add-service=ftp
[root@Server01 ~]# firewall-cmd  --reload
[root@Server01 ~]# setenforce  0
[root@Server01 ~]# systemctl  restart  vsftpd

第4步:修改本地权限。

[root@Server01 ~]# mkdir   /web/www/html  -p

[root@Server01 ~]# touch   /web/www/html/test.sample

[ [root@Server01 ~]# chmod   -R   o+w   /web/www/html  //其他用户可以写入!

第4步:防火墙放行和SELinux允许!重启FTP服务。

[root@Server01 ~]# firewall-cmd  --permanent  --add-service=ftp
[root@Server01 ~]# firewall-cmd  --reload
[root@Server01 ~]# setenforce  0
[root@Server01 ~]# systemctl  restart  vsftpd

第5步:修改本地权限。

[root@Server01 ~]# mkdir   /web/www/html  -p
[root@Server01 ~]# touch   /web/www/html/test.sample
[ [root@Server01 ~]# chmod   -R   o+w   /web/www/html  //其他用户可以写入!

第6步:在Linux客户端client1上安装ftp工具后测试。

[root@client1 ~]# mount  /dev/cdrom/media
[root@client1 ~]# dnf  clean  all
[root@client1 ~]# dnf  install  ftp  -y

第6步:测试过程。

使用team1和team2用户不能转换目录,但能建立新文件夹,显示的目录是“/”,其实是/web/www/html文件夹。
 

[root@client1 ~]# ftp  192.168.10.1
Connected to 192.168.10.1 (192.168.10.1).
220 (vsFTPd 3.0.2)
Name (192.168.10.1:root): team1    //锁定用户测试
331 Please specify the password.
Password:                   //输入team1用户密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd 
257 “/”                           //显示是“/”,其实是/web/www/html,从ll列出的文件中可看出
ftp> mkdir  testteam1
257 "/testteam1" created
ftp> get  test.sample  test1111.sample       //从ftp服务器下载test.sample文件另存为test1111.sample
ftp> put  test1111.sample  test00.sample   //上传文件并改名为test00.sample
  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CentOS 7.9搭建FTP服务器的步骤如下: 1. 首先,确保已经安装了vsftpd软件包。可以通过以下命令来安装:`sudo yum install vsftpd`。 2. 安装完成后,启动vsftpd服务。使用以下命令启动服务:`sudo systemctl start vsftpd`。 3. 接下来,设置vsftpd服务开机自启动。使用以下命令来设置:`sudo systemctl enable vsftpd`。 4. 默认情况下,匿名用户是不允许访问FTP服务器的。如果需要允许匿名用户访问,可以编辑vsftpd的配置文件`/etc/vsftpd/vsftpd.conf`,并找到配置项`anonymous_enable`,将其设置为`YES`。 5. 配置本地用户的访问权限。在vsftpd的配置文件中,可以通过添加以下配置来设置本地用户的访问权限: ``` userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO ``` 然后,创建`/etc/vsftpd/user_list`文件,并在文件中添加允许访问FTP服务器的本地用户的用户名。 6. 设置FTP服务器的根目录。默认情况下,FTP用户的根目录位于`/var/ftp`目录下。如果需要修改根目录,可以编辑vsftpd的配置文件,并找到配置项`local_root`,将其设置为所需的目录。 7. 最后,重启vsftpd服务以应用配置的更改。使用以下命令来重启服务:`sudo systemctl restart vsftpd`。 完成上述步骤后,CentOS 7.9上的FTP服务器搭建完成。您可以使用FTP客户端来连接并访问该服务器,具体的连接配置取决于您使用的FTP客户端。 ### 回答2: CentOS 7.9 系统可以使用 vsftpd(Very Secure FTP Daemon)来搭建 FTP 服务器。下面是基本的步骤: 1. 使用管理员身份登录到 CentOS 7.9 服务器。 2. 打开终端,并使用以下命令安装 vsftpd: ``` sudo yum install vsftpd ``` 3. 安装完成后,使用以下命令启动 vsftpd 服务,并设置开机自启动: ``` sudo systemctl start vsftpd sudo systemctl enable vsftpd ``` 4. 接下来,需要配置 vsftpd。使用以下命令编辑配置文件: ``` sudo vi /etc/vsftpd/vsftpd.conf ``` 在文件中,你可以根据需要进行以下设置: - 禁用匿名用户:将 `anonymous_enable=YES` 修改为 `anonymous_enable=NO`。 - 启用本地用户登录:取消注释(删除行首的 `#`)`local_enable=YES`。 - 允许本地用户上传文件:取消注释(删除行首的 `#`)`write_enable=YES`。 你还可以根据需要进行其他设置,然后保存并关闭文件。 5. 在防火墙中打开 FTP 服务器的端口。默认情况下,FTP 使用的端口是 20 和 21。你可以使用以下命令做出相应修改: ``` sudo firewall-cmd --zone=public --add-service=ftp --permanent sudo firewall-cmd --reload ``` 6. 接下来,你需要允许本地用户登录 FTP 服务器并设置其访问目录权限。使用以下命令添加用户: ``` sudo useradd ftpuser ``` 使用以下命令设置用户的密码: ``` sudo passwd ftpuser ``` 使用以下命令将用户的主目录设置为 FTP 目录: ``` sudo usermod -d /var/ftp ftpuser ``` 7. 最后,重新启动 vsftpd 服务以应用配置: ``` sudo systemctl restart vsftpd ``` 现在,你的 CentOS 7.9 服务器已经成功搭建FTP 服务器。通过使用 FTP 客户端工具,你可以使用添加的用户名和密码进行连接,并访问指定的 FTP 目录。 ### 回答3: 搭建FTP服务器可以实现网络文件传输和共享,CentOS 7.9是一种常用的Linux操作系统,以下是关于如何在CentOS 7.9上搭建FTP服务器的步骤: 1. 首先,使用root权限登录到CentOS 7.9服务器。 2. 安装vsftpd软件包,vsftpd是一种常用的FTP服务器软件。在终端中使用以下命令进行安装:yum install vsftpd -y 3. 安装完毕后,启动vsftpd服务并将其设置为开机自启动:systemctl start vsftpd && systemctl enable vsftpd 4. 默认情况下,vsftpd的配置文件位于/etc/vsftpd/vsftpd.conf。使用文本编辑器(如vi或nano)打开此文件:vi /etc/vsftpd/vsftpd.conf 5. 根据需要进行配置更改。一些常见的配置选项包括:启用匿名访问(anonymous_enable=YES)、禁止匿名用户上传(write_enable=NO)、添加本地用户访问(local_enable=YES)等。根据需要调整这些选项。 6. 保存并关闭配置文件后,重新启动vsftpd服务以使更改生效:systemctl restart vsftpd 7. 防火墙可能会阻止FTP访问。如果需要,可以使用firewalld或iptables等工具配置防火墙规则,允许FTP流量通过。 8. 检查FTP服务器的工作情况。您可以通过在Web浏览器中输入“ftp://your_server_ip”访问FTP服务器。使用服务器的IP地址来替换“your_server_ip”。 9. 如果需要,您可以进一步调整FTP服务器的相关配置,如限制用户的访问路径、设置访问权限和配额等。 通过以上步骤,您应该能够在CentOS 7.9上成功搭建FTP服务器。根据需要,您可以对FTP服务器进行进一步的配置和定制化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值