###unit.9 vsftpd服务###

 

1.什么是ftp

 

 

2.安装ftp

yum install vsftpd -y

systemctl start vsftpd

firewall-cmd --permanent --add-server=ftp

firewall-cmd --reload

firewall-cmd --list-all

public (default, active)

  interfaces: eth0

  sources:

  services: dhcpv6-client ftp ssh

  ports:

  masquerade: no

  forward-ports:

  icmp-blocks:

  rich rules:

 

setenforce 0

lftp ip##能登陆并且显示,表示安装成功

 

3.vsftpd文件信息

/var/ftp##默认发布目录

/etc/vsftpd##配置目录

 

4.vsftpd服务的配置参数

1)匿名用户设定

anonymous_enable=YES|NO##匿名用户登陆的限制

 

匿名用户上传

vim /etc/vaftpd/vsftpd.conf

write_enable=YES

anon_upload_enable=YES

chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub

setenforce 0

 

匿名用户家目录修改

anon_root=/direcotry

 

匿名用户上传文件默认权限修改

anon_umask=XXX

 

匿名用户建立目录

anon_mkdir_write_enable=YES|NO

 

匿名用户下载

anon_world_readable_only=YES|NO

 

匿名用户删除

anon_other_write_enable=YES|NO

 

匿名用户使用的用户身份修改

chown_uploads=YES

chown_username=student

 

最大上传速率

anon_max_rate=102400

 

最大连接数

max_clients=2

 

2)本地用户设定

local_enable=YES|NO##本地用户登陆限制

write_enable=YES|NO##本地用户写权限限制

 

本地用户家目录修改

local_root=/directory

 

本地用户上传文件权限

local_umask=XXX

 

限制本地用户浏览/目录

所有用户被锁定到自己的家目录中

chroot_local_user=YES

chmod u-w /home/*

 

用户黑名单建立

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

 

用户白名单建立

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

 

限制本地用户登陆

vim /etc/vsftpd/ftpusers##用户黑名单

vim /etc/vsftpd/user_list##用户临时黑名单

 

用户白名单设定

userlist_deny=NO##参数设定,此文件变成用户白名单,在名单中出现的用户可以登陆ftp

 

 

ftp虚拟用户的设定

创建虚拟帐号身份

vim /etc/vsftpd/userfile##文件名称任意

westos1

123

westos2

123

westos3

123

 

db_load -T -t hash -f /etc/vsftpd/userfile userfile.db##(-T表示转换,-t表示加密格式,-f表示指定文件)

 

vim /etc/pam.d/westos##文件名称任意

accountrequiredpam_userdb.sodb=/etc/vsftpd/userfile

authrequiredpam_userdb.sodb=/etc/vsftpd/userfile

 

vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos

guest_enable=YES

 

虚拟帐号身份指定

guest_username=ftpuser

chmod u-w /home/ftpuser

 

虚拟帐号家目录独立设定

vim /etc/vsftpd/vsftpd.conf

local_root=/ftpuserhome/$USER

user_sub_token=$USER

 

 

 

 

 

常见错误代码:

lftp westos1@172.25.19.11:~> ls      

ls: Login failed: 500 OOPS: cannot change directory:/ftpuserhome/westos1

lftp westos1@172.25.19.11:~> ls      

ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()