银河麒麟V10服务器搭建FTP服务

 一、FTP简介

        FTP(File Transfer Protocol),即文件传输协议,是一种用于在网络上传输文件的标准协议。它允许用户在客户端和服务器之间进行文件的上传和下载。

        FTP的工作原理是基于客户端-服务器模型的。在这个模型中,客户端通过指定服务器的IP地址和端口号连接到服务器,并通过输入用户名和密码进行身份验证。一旦连接建立成功,客户端便可以通过FTP命令与服务器进行通信。

        FTP提供了一系列的命令,用于执行各种文件操作。这些命令包括上传文件到服务器、从服务器下载文件、删除文件、重命名文件、创建目录等等。用户可以使用FTP客户端软件(如FileZilla、CuteFTP等)来方便地执行这些操作。

        FTP协议支持两种数据传输模式:主动模式和被动模式。在主动模式中,服务器主动向客户端发起数据连接。而在被动模式中,客户端向服务器发起数据连接。主动模式在防火墙后面更容易配置,而被动模式更适用于客户端在防火墙后面的情况。

        FTP协议是一个老牌的文件传输协议,在互联网的早期被广泛使用。然而,随着安全性要求的提高,FTP的明文传输方式容易受到攻击,因此现在更多地使用SFTP(SSH File Transfer Protocol)或FTPS(FTP over SSL)等安全的替代协议。

二、安装ftp软件包

         V10服务器一般默认安装了vsftpd软件包,若没有安装,配置光盘yum源,使用以下命令安装:#yum  -y  install  vsftpd 

        安装完成服务会新建一个ftp用户和ftp的组,家目录为/var/ftp,默认是nologin。

三、配置文件解析

vsftpd的配置文件目录为/etc/vsftpd,包含下列的配置文件:

(1)vsftpd.conf  主配置文件

(2)ftpusers     配置禁止访问FTP服务器的用户列表

(3)user_list    配置用户访问列表

四、配置匿名用户登录ftp

4.1、备份原始配置文件

cp  /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak

在设置配置文件之前,建议保留一份原配置文件的备份。每次修改完配置文件后,需要重启vsftpd服务才能生效。

4.2、修改配置文件

vim  /etc/vsftpd/vsftpd.conf         //修改以下选项,具体配置如下:

anonymous_enable=YES                   开启匿名用户登录

no_anon_password=YES                   匿名用户登录不检查口令

anon_upload_enable=YES                 匿名用户开启上传

anon_mkdir_write_enable=YES            匿名用户允许创建目录

anon_other_write_enable=YES            匿名用户的其它写权限

write_enable=YES                       全局写权限

  注:匿名用户默认登入的根目录是ftp用户的家目录,可以通过查看/etc/passwd中ftp那一行查看当前系统ftp用户的家目录是/var/ftp,其目录下有一个pub目录,一般用来匿名用户登录访问,/var/ftp/pub目录的属主和属组都是root,设置777权限后,方便匿名用户操作。

4.3、添加防火墙放行规则

V10服务器默认开启了防火墙服务,由于ftp默认监听21号端口,因此我们要添加规则开放21号端口。

访问测试:

五、配置系统本地用户登录ftp

5.1、修改配置文件

 vim  /etc/vsftpd/vsftpd.conf          //修改以下选项,具体配置如下:

userlist_enable=YES    开启用户访问列表

userlist_deny=NO               只有列表文件里的用户可以访问ftp    

local_root=/home/kylin         ftp用户访问根目录

write_enable=YES               全局写权限配置

local_enable=YES               开启本地用户登录

local_umask=022                创建目录权限755

注:ftp默认配置文件包含了系统用户登录ftp的配置项,只需要添加userlist_deny=NO这个参数项来开启userlist白名单访问;local_root用来设置本地用户登录ftp的根目录,缺省值为用户家目录,自定义设置时候注意登录用户对目录的操作权限。

/etc/vsftpd/ftpusers是限制本地用户访问的黑名单:

/etc/vsftpd/user_list一般用作用户访问ftp的白名单:

使用kylin用户登录测试(所有功能都可)

六、配置虚拟用户登录ftp

6.1、先在系统中创建一个真实用户,虚拟用户依赖真实用户。

#useradd -s /sbin/nologin  ftpuser

#chmod  755 /etc/ftpuser

6.2、用户相关配置结束后,开始设置虚拟用户和密码文件vusers.list。

#vim  /etc/vsftpd/vusers.list 

6.3、使用db_load对vusers.list文件进行加密。

db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vusers.db

chmod 600 /etc/vsftpd/vusers.db  提高虚拟用户账号文件的安全性

6.4、Pam验证

vim  /etc/pam.d/vsftpd.vu

6.5、修改vsftpd配置,添加支持虚拟用户

local_enable=YES

write_enable=YES

allow_writeable_chroot=YES

local_root=/home/ftpuser

guest_enable=YES

guest_username=ftpuser

pam_service_name=/etc/pam.d/vsftpd.vu

user_config_dir=/etc/vsftpd/vuser_dir

6.6、设置不同虚拟用户的配置文件

#mkdir   /etc/vsftpd/vuser_dir

#vim vuser1      

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/ftpuser/vuser1

#mkidr   /home/ftpuser/vuser1   //为每个虚拟用户创建家目录

chmod   777  /home/ftpuser/vuser1 

6.7、测试验证(上传、下载、创建、重命名等功能)

七、常见问题解决

问题描述:如果桌面环境使用lightdm,使用文件管理器使用系统用户登录FTP时候,出现无法显示目录文件问题。

解决方法:在ftp启动脚本(/lib/systemd/system/vsftpd.service)加入设置环境变量设置:LC_TIME为英文时区。

修改完配置文件后,

#systemctl  daemon-reload         //重新加载文件

#systemctl resatart vsftpd        //重启服务使配置生效

再次访问测试

FROM  xds

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值