Linux下安装ftp服务器

步骤一: 安装 vsftpd

  1. 登录到 Linux 实例。

  2. 运行命令yum install -y vsftpd 安装 vsftpd。出现下图表示安装成功。
    Linux下安装ftp服务器_第1张图片
    或者通过压缩文件进行安装:

     - 下载 vsftpd-3.0.2-25.el7.x86_64.rpm文件,网址:http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
     
     - 通过lrzsz上传到linux服务器,
     
     - 进行解压到制定位置 rpm -hvi   vsftpd-3.0.2-25.el7.x86_64.rpm
    
  3. 运行以下命令进入 /ect/vsftpd 目录,并查看该目录下的文件。
    cd /etc/vsftpd
    ls

  4. 运行以下命令设置FTP服务开机自启动。
    systemctl enable vsftpd.service

  5. 运行以下命令启动 FTP 服务。
    systemctl start vsftpd.service。

步骤二:配置 vsftpd

vsftpd 安装后默认开启了匿名访问 FTP 服务器的功能。使用匿名访问,您无需输入用户名密码即可登录 FTP 服务器,但没有权限修改或上传文件。 本教程介绍了以下两种配置 vsftpd 的方法,并提供了相关的参数说明,您可以根据具体需要进行参考:

配置匿名用户上传文件权限

匿名访问FTP服务器是一种不安全的访问模式,任何人无需密码验证就可以登录到FTP服务器,这种模式一般只用来保存不重要的公开文件,不推荐在生产环境中使用。如果您需要配置匿名用户上传文件的权限,可以参考以下步骤配置:

  1. 修改/etc/vsftpd/vsftpd.cpnf。
    运行 vim /etc/vsftpd/vsftpd.cpnf。
    按i键进入编辑模式。
    将写权限修改为write_enable=YES。
    将匿名上传权限修改为anon_upload_enable=YES。
    按Esc键退出编辑模式,然后输入:wq保存并退出文件。
  2. 运行以下命令更改/var/ftp/pub目录的权限,为 FTP 用户添加写权限,并重新加载配置文件。
    chmod o+w /var/ftp/pub/
    systemctl restart vsftpd.service

配置本地用户登录

本地用户登录是指用户使用 Linux 操作系统的账号和密码登录 FTP 服务器。
vsftpd 安装后默认只支持匿名访问 FTP 服务器,如果您试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 服务拒绝。您可以参考以下步骤配置 vsftpd 服务,以使用Linux账号和密码访问FTP服务器。

  1. 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest。
    useradd ftptest
  2. 运行以下命令修改ftptest 用户的密码。
    passwd ftptest
  3. 创建一个供FTP服务使用的文件目录。
    mkdir /home/ftpuser/nifi
  4. 输入命令vim /etc/vsftpd/vsftpd.conf打开vsftpd.conf配置文件并按键i进入编辑模式。
  5. 修改vsftpd.conf配置文件,详细看下面内容。

FTP服务器可以配置为主动模式被动模式

主动模式下,客户端向服务端发送数据端口的信息,由服务端主动连接客户端发送的数据端口。配置FTP为主动模式的参数如下:

	#禁止匿名登录FTP服务器
    anonymous_enable=NO
	#允许本地用户登录FTP服务器
	local_enable=YES
	#设置本地用户登录后所在的目录
	local_root=/home/ftpuser
	#全部用户被限制在主目录
	chroot_local_user=YES
	#启用例外用户名单
	chroot_list_enable=YES
	#指定例外用户列表,这些用户不被锁定在主目录
	chroot_list_file=/etc/vsftpd/chroot_list
	#配置其他参数
	allow_writeable_chroot=YES
	local_umask=022
	dirmessage_enable=YES
	xferlog_enable=YES
	connect_from_port_20=YES
	xferlog_std_format=YES
	listen=YES
	pam_service_name=vsftpd
	userlist_enable=YES
	tcp_wrappers=YES

被动模式下,服务端开启并发送数据端口的信息给客户端,由客户端连接服务端开启的数据端口,服务端被动接受连接。在被动模式下,您需要配置服务端可以开启的数据端口范围。配置FTP为被动模式的参数如下:

  #禁止匿名登录FTP服务器
	anonymous_enable=NO
	#允许本地用户登录FTP服务器
	local_enable=YES
	#设置本地用户登录后所在目录
	local_root=/var/ftp/test
	#全部用户被限制在主目录
	chroot_local_user=YES
	#启用例外用户名单
	chroot_list_enable=YES
	#指定例外用户列表,这些用户不被锁定在主目录
	chroot_list_file=/etc/vsftpd/chroot_list
	#开启被动模式
	pasv_enable=YES
	#FTP服务器公网IP
	pasv_address=
	#设置被动模式下,建立数据传输可使用port范围的最小值
	pasv_min_port=port number
	#设置被动模式下,建立数据传输可使用port范围的最大值
	pasv_max_port=port number

	#配置其他参数
	local_umask=022
	dirmessage_enable=YES
	xferlog_enable=YES
	xferlog_std_format=YES
	tcp_wrappers=YES
	allow_writeable_chroot=YES
	listen=YES
	listen_ipv6=NO
	pam_service_name=vsftpd
	userlist_enable=YES

  1. 按Esc键退出编辑模式,然后按键:wq保存并退出文件。

  2. 运行vim /etc/vsftpd/chroot_list命令创建chroot_list文件,并写入不受只可以访问其主目录限制的例外用户名单。
    说明 如果没有例外用户也必须要有 chroot_list文件,内容可为空。

  3. 按键Esc退出编辑模式,然后按键:wq保存并退出文件。

  4. 运行以下命令重启vsftpd服务。
    systemctl restart vsftpd.service

你可能感兴趣的:(Linux,ftp服务器,Linux)