本文教您在openEuler操作系统中搭建FTP服务器,介绍使用vsftpd(安装vsftpd、管理vsftpd服务)、配置vsftpd(vsftpd配置文件介绍、默认配置说明、配置本地时间、配置欢迎信息、配置系统帐号登录权限)、验证FTP服务是否搭建成功、配置防火墙和传输文件的方法。如还没有安装openEuler,请参考openEuler 20.03 LTS安装图文教程。
在openEuler系统中使用vsftpd 1、安装vsftpd 使用vsftpd需要安装vsftpd软件,在已经配置yum源的情况下,通过root权限执行如下命令,即可完成vsftpd的安装: # dnf install vsftpd 2、管理vsftpd服务 启动、停止和重启vsftpd服务,请在root权限下执行对应命令。 启动vsftpd服务: # systemctl start vsftpd 可以通过netstat命令查看通信端口21是否开启,如下显示说明vsftpd已经启动: # netstat -tulnp | grep 21
说明: 如果没有netstat命令,可以执行如下命令安装后再使用netstat: dnf install net-tools 停止vsftpd服务: # systemctl stop vsftpd 重启vsftpd服务: # systemctl restart vsftpd
在openEuler系统中配置vsftpd 1、vsftpd配置文件介绍 用户可以通过修改vsftpd的配置文件,控制用户权限等。vsftpd的主要配置文件和含义如下表所示,用户可以根据需求修改配置文件的内容。更多的配置参数含义可以通过man查看:
2、默认配置说明 说明: 配置内容仅供参考,请用户根据实际情况(例如安全加固需要)进行修改。 openEuler系统中 ,vsftpd默认不开放匿名用户,使用vim命令查看主配置文件,其内容如下: # vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES 其中各参数含义如下表所示:
3、配置本地时间 概述: openEuler系统中,vsftpd默认使用GMT时间(格林尼治时间),可能和本地时间不一致,例如GMT时间比北京时间晚8小时,请用户改为本地时间,否则服务器和客户端时间不一致,在上传下载文件时可能引起错误。 设置方法: 设置vsftpd时间为本地时间的操作步骤如下: 打开配置文件vsftpd.conf,将参数use_localtime的参数值改为YES。命令如下: # vim /etc/vsftpd/vsftpd.conf 配置内容如下: use_localtime=YES 重启vsftpd服务: # systemctl restart vsftpd 设置vsftpd服务开机启动: # systemctl enable vsftpd 4、配置欢迎信息 正常使用vsftpd服务,需要存在欢迎信息文件。设置vsftp的欢迎信息welcome.txt文件的操作步骤如下: 打开配置文件vsftpd.conf,加入欢迎信息文件配置内容后保存退出: # vim /etc/vsftpd/vsftpd.conf 需要加入的配置行如下: banner_file=/etc/vsftpd/welcome.txt 建立欢迎信息。即打开welcome.txt文件,写入欢迎信息后保存退出: # vim /etc/vsftpd/welcome.txt 欢迎信息举例如下: Welcome to this FTP server! 5、配置系统帐号登录权限 一般情况下,用户需要限制部分帐号的登录权限。用户可根据需要进行配置。 限制系统帐号登录的文件有两个,默认如下: /etc/vsftpd/ftpusers:受/etc/pam.d/vsftpd文件的设置影响,由PAM模块掌管。 /etc/vsftpd/user_list:由vsftpd.conf的userlist_file设置,由vsftpd主动提供。 两个文件的必须同时存在且内容相同,请参考/etc/passwd文件,将UID小于500的帐号写入这两个文件,每一行代表一个帐号。 如果用户需要限制系统帐号登录,需要将对应帐号添加到/etc/vsftpd/ftpusers和/etc/vsftpd/user_list。 打开user_list可以查看当前文件中包含的帐号信息,命令和回显如下: # vim /etc/vsftpd/user_list root bin daemon adm lp sync shutdown halt news uucp operator games nobody
在openEuler系统中验证FTP服务是否搭建成功 可以使用openEuler提供的FTP客户端进行验证。命令和回显如下,根据提示输入用户名(用户为系统中存在的用户)和密码。如果显示Login successful,即说明FTP服务器在openEuler操作系统中搭建成功: # dnf install ftp # ftp localhost Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220-Welcome to this FTP server! 220 Name (localhost:root): USERNAME 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> bye 221 Goodbye.
配置防火墙 如果要将FTP开放给Internet使用,需要对防火墙和SElinux进行设置: # firewall-cmd --add-service=ftp --permanent success # firewall-cmd --reload success # setsebool -P ftpd_full_access on
传输文件 1、概述 这里给出vsftpd服务启动后,如何进行文件传输的指导。 2、连接服务器 命令格式: ftp [hostname | ip-address] 其中hostname为服务器名称,ip-address为服务器IP地址。 操作说明: 在openEuler系统的命令行终端,执行如下命令: ftp ip-address 根据提示输入用户名和密码,认证通过后显示如下,说明ftp连接成功,此时进入了连接到的服务器目录: ftp> 在该提示符下,可以输入不同的命令进行相关操作: 显示服务器当前地址: ftp>pwd 显示本地路径,用户可以将该路径下的文件上传到FTP服务器对应位置: ftp>lcd 退出当前窗口,返回本地Linux终端: ftp>! 3、下载文件 通常使用get或mget命令下载文件。 get使用方法: 功能说明:将文件从远端主机中传送至本地主机中。 命令格式:get [remote-file] [local-file] 其中 remote-file 为远程文件,local-file 为本地文件。 示例:获取远程服务器上的/usr/your/openEuler.htm文件,命令如下: ftp> get /usr/your/openEuler.htm mget使用方法: 功能说明:从远端主机接收一批文件至本地文件。 命令格式:mget [remote-file] 其中 remote-file 为远程文件。 示例:获取服务器上/usr/your/目录下的所有文件,命令如下: ftp> cd /usr/your/ ftp> mget *.* 说明: 此时每下载一个文件,都会有提示信息。如果要屏蔽提示信息,则在mget *.*命令前先执行prompt off。 文件都被下载到Linux主机的当前目录下。比如,在/usr/my/下运行的ftp命令,则文件都下载到/usr/my/下。 4、上传文件 通常使用put或mput命令上传文件。 put使用方法: 功能说明:将本地的一个文件传送到远端主机中。 命令格式:put [local-file] [remote-file] 其中 remote-file 为远程文件,local-file 为本地文件。 示例:将本地的Euler.htm传送到远端主机/usr/your/,并改名为openEuler.htm,命令如下: ftp> put Euler.htm /usr/your/openEuler.htm mput使用方法: 功能说明:将本地主机中一批文件传送至远端主机。 命令格式:mput [local-file] 其中 local-file 为本地文件。 示例:将本地当前目录下所有htm文件上传到服务器/usr/your/下,命令如下: ftp> cd /usr/your ftp> mput *.htm 5、删除文件 通常使用delete或mdelete命令删除文件。 delete使用方法: 功能说明:删除远程服务器上的一个或多个文件。 命令格式:delete [remote-file] 其中 remote-file 为远程文件。 示例:删除远程服务器上的openFile文件,命令如下: ftp> delete openFile mdelete使用方法: 功能说明:删除远程服务器上的文件,常用于批量删除。 命令格式:mdelete [remote-file] 其中 remote-file 为远程文件。 示例:删除所有a开头的文件,命令如下: ftp> mdelete a* 6、断开服务器 断开与服务器的连接,使用bye命令,如下: ftp> bye
相关主题 |