对于Linux搭建服务器步骤详解:可以基于匿名访问、本地用户访问、虚拟用户访问
FTP服务访问可分为三种
匿名用户:用户名为ftp或者anonymous,提供任意密码或无密码访问即可.
本地用户:要求有用户名和相对应密码,适用于使用者都是使用此服务器的人。
虚拟用户(出于安全考虑):通过独立的用户数据库文件(映射主机内创建的用户)来进行登录验证。
FTP服务器的配置。
1、安装FTP服务
[root@ftp ~]# yum install vsftpd -y
[root@ftp ~]# systemctl start vsftpd
2、配置FTP服务
匿名访问ftp服务器时进入开启允许匿名用户登录
[root@ftp ~]# vim /etc/vsftpd/vsftpd.conf
进入配置文件
此处我将原来的拒绝注释,复制一条修改为YES(方便看修改了哪里)
Linux中测试(开启匿名登录只需要输入anonymous,密码按回车即可)
Linux中测试需要安装ftp或lftp
[root@localhost ~]# yum install ftp -y
[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
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