Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)

对于Linux搭建服务器步骤详解:可以基于匿名访问、本地用户访问、虚拟用户访问
FTP服务访问可分为三种

匿名用户:用户名为ftp或者anonymous,提供任意密码或无密码访问即可.
本地用户:要求有用户名和相对应密码,适用于使用者都是使用此服务器的人。
虚拟用户(出于安全考虑):通过独立的用户数据库文件(映射主机内创建的用户)来进行登录验证。

目录

    • 1、匿名访问配置:
      • 测试ftp的匿名访问:
    • 2、本地访问配置:
      • 本地用户访问测试:
    • 3、虚拟访问的配置:
      • 虚拟用户登录测试

FTP服务器的配置。
1、安装FTP服务

[root@ftp ~]# yum install vsftpd -y
[root@ftp ~]# systemctl start vsftpd

2、配置FTP服务

1、匿名访问配置:

匿名访问ftp服务器时进入开启允许匿名用户登录
[root@ftp ~]# vim /etc/vsftpd/vsftpd.conf 进入配置文件
Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第1张图片

此处我将原来的拒绝注释,复制一条修改为YES(方便看修改了哪里)

测试ftp的匿名访问:

Windows下:
Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第2张图片

Linux中测试(开启匿名登录只需要输入anonymous,密码按回车即可)
Linux中测试需要安装ftp或lftp

[root@localhost ~]# yum install ftp -y

Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第3张图片

2、本地访问配置:

[root@ftp ~]# mkdir -p /var/www/web1		#创建ftp访问的目录
[root@ftp ~]# chmod -R 757 /var/www/web1	#为目录添加权限	
[root@ftp ~]# useradd user1 -s /bin/bash 		#增加用户user1
[root@ftp ~]# echo 123456 | passwd --stdin user1	#为用户添加密码
[root@ftp ~]# chown -R user1 /var/www/web1	#修改该目录下的所属者为user1
[root@ftp ~]# echo "www.zjxy.edu 's web" > /var/www/web1/本地用户访问ftp.txt #创建一个文件测试

配置ftp信息

[root@ftp ~]# vim /etc/vsftpd/vsftpd.conf 
local_enable=YES					#允许本地用户登录
write_enable=YES  				#允许写入
local_root=/var/www/web1			#设置本地用户登录后的根目录
connect_from_port_20=YES  
chroot_local_user=YES    			#是否将所有用户限制在登录根目录内
chroot_list_enable=YES				#是否锁定用户的chroot功能
chroot_list_file=/etc/vsftpd/chroot_list	#设置锁定用户的列表文件

进入文件,将被锁定的用户user1加入其中

[root@ftp ~]# vim /etc/vsftpd/chroot_list
user1

在这里插入图片描述

重启服务即可访问

[root@ftp ~]# systemctl restart vsftpd

本地用户访问测试:

Window中测试
Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第4张图片
Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第5张图片

Linux中测试本地用户登录
Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第6张图片

3、虚拟访问的配置:

1、创建虚拟用户对应的本地用户及目录

[root@ftp ~]# useradd user2 -s /sbin/nologin
[root@ftp ~]# mkdir -p /ftp/public /var/www/web2
[root@ftp ~]# echo "test file" > /ftp/public/f1.txt
[root@ftp ~]# echo "test file" > /var/www/web2/w2.txt
[root@ftp ~]# chown user2 /ftp/public/ /var/www/web2/
[root@ftp ~]# chmod  -R 755 /ftp/public/ /var/www/web2/

2、创建虚拟用户文件

[root@ftp ~]# vim /etc/vsftpd/vuser.list
#一行用户名,一下行为密码
z3
123
l4
456

3、转换虚拟用户文件

[root@ftp ~]# db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
[root@ftp ~]# chmod 600 /etc/vsftpd/vuser.*

4、创建用于用户登录时的PAM文件

[root@ftp ~]# cd /etc/pam.d/
[root@ftp pam.d]# cp -p vsftpd vuser.vu
[root@ftp pam.d]# vim vuser.vu 
#第一行 添加以下两行
auth       sufficient   pam_userdb.so   db=/etc/vsftpd/vuser
account    sufficient   pam_userdb.so   db=/etc/vsftpd/vuser

5、修改配置文件

[root@ftp ~]# vim /etc/vsftpd/vsftpd.conf 
local_enable=YES
pam_service_name=vuser.vu
guest_enable=YES
guest_username=user2
user_config_dir=/etc/vsftpd/vconfig
virtual_use_local_privs=YES

6、虚拟用户配置专用文件

[root@ftp ~]# mkdir /etc/vsftpd/vconfig
[root@ftp ~]# vim /etc/vsftpd/vconfig/z3
local_root=/ftp/public/
anon_world_readable_only=YES
write_enable=NO
anon_max_rate=500000
[root@ftp ~]# vim /etc/vsftpd/vconfig/l4
local_root=/var/www/web2/
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=1000000

完成上述配置重启服务即可测试

[root@ftp ~]# systemctl restart vsftpd

虚拟用户登录测试

在window中进行测试
Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第7张图片
Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第8张图片

在Linux中访问测试
Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)_第9张图片

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