自建FTP共享资源之FTP服务器认证增强(本地用户认证)
FTP(文件传输协议)是一种常用的文件传输协议,今天就来说一下如何在云服务器的Linux系统安装vsftpd服务。
首先先准备一个vsftpd软件包,yum进行安装(默认系统盘里有)
[root@localhost ~]# yum -y install vsftpd
systemctl start vsftpd启动服务
vsftpd的配置文件位置 /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #是否允许匿名用户登录
local_enable=YES #是否允许本地用户登录
write_enable=YES
local_umask=022
#这两个注释内容是给匿名用户设置权限的,如果需要可以把#去掉
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
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
tcp_wrappers=YES
此上为匿名用户的配置,匿名用户说是匿名,其实使用的是系统的默认FTP账号“ftp”,他的默认FTP根目录为 /var/ftp/pub
匿名用户常见的配置项及含义:
anonymous_enable=YES:是否允许匿名访问;
anon_umask=022:设置匿名用户所上传文件的默认权限掩码值(反掩码);
anon_root=/var/ftp:指定匿名用户的根目录;
anon_upload_enable=YES:是否允许匿名用户上传文件;
anon_mkdir_write_enable=YES:是否允许匿名用户有创建目录的写入权限;
anon_other_write_enable=YES:是否允许匿名用户有其他的写入权限(对文件改名、覆盖或删除文件等);
本地用户验证:
# Example config file /etc/vsftpd/vsftpd.conf
##设置为本地用户登录时需要将匿名用户的YES改NO,不然他首先还以匿名用户登录
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
tcp_wrappers=YES
##这些是本地设置的一些基本权限
chroot_local_user=YES
allow_writeable_chroot=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
本地用户的一些配置项及含义:
local_enable=YES:是否允许本地用户访问
local_root=/var/ftp:设置本地用户的FTP根目录(默认为用户的宿主目录)
chroot_local_user=YES:是否将FTP本地用户禁锢在宿主目录中;
allow_writeable_chroot=YES:允许被限制的用户主目录具有写权限
local_max_rate=0:限制本地用户的最大传输速率(0为无限制),单位为字节/秒(B/s)
在/etc/vsftpd/目录下还有两个配置文件 ftpusers和user_list
[root@localhost ~]# ls /etc/vsftpd/
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
ftpusers文件:此文件中包含root、bin、daemon等用于系统运行的特殊用户,文件中列出的用户将禁止登陆vsftpd服务器
user_list:此文件中包含的用户可能被禁止,可能被允许,具体取决于主配置文件vsftpd.conf中的设置,当存在“user_list
-enable=YES时”,user_list列表文件生效,若继续指定“user_deny=YES”时,则功能与ftpusers一样,禁止文件内的用户登录,将YES改为NO时,表示允许。
睿江云官网链接:www.eflycloud.com