目录
- 1、FTP概论
- 2、验证方式
- ■ 验证的/etc/ passwd和/etc/shadow
- ■ 验证的是用户列表(用户必须是系统创建),相当于白名单
- 3、FTP相关命令参数
- 4、设置虚拟账户列表
- 5、设置虚拟账户的配置文件
1、FTP概论
■ ftp的概论
● 用于文件的上传和下载
● ftp属于tcp,端口号: 20,21
◆ 21:控制层面,用于账户密码验证,权限的验证。
◆ 20:数据层面,用于文件上传和下载。
■ 匿名、系统、虚拟账户
● 匿名账户:登录名: ftp、 anonymous。不验证密码即可登录。 ● 系统账户:本身系统已存在的账户、密码作验证。
2、验证方式
■ 验证的/etc/ passwd和/etc/shadow
■ 验证的是用户列表(用户必须是系统创建),相当于白名单
● 默认root账户不允许登录。
● 虚拟账户:预定义的列表账户(以前系统未创建过的)
3、FTP相关命令参数
Javascript
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭核心防护
rpm - ivh /mnt/Packages/vsftpd-3.0.2- 10. el7. x86_64. rpm
匿名帐户:
chown -R ftp. ftp /var/ftp/ pub/
chmod -R 755 /var/ ftp/ pub/
ls -l /var/ftp/ pub/
vi /etc/vsftpd/vsftpd. conf
anonymous_enable=YES #允许匿名账户登录
anon_upload_enable=YES #允许匿名账户上传
anon_mkdir_write_enable=YES #允许匿名账户新建文件或目录
anon_other_write_enable=YES #允许匿名账户的其他写权限
anon_umask=022 #设置匿名账户的权限为755
local_enable=YES #允许本地账户登录
local_max_rate=102400 #本地账户限速
chroot_local_user=yes #锁定宿主目录,此配置针对本地账户
write_enable=YES #写权限的开启,如果想让用户上传文件,此权限也需要有
local_umask=022 #本地账户的权限为755
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES #监听IPV4地址的请求
listen_ipv6=N0 #不监听IPV6地址的请求
systemctl start vsftp # 开启ftp服务
4、设置虚拟账户列表
vi /etc/vsftpd/vusers.list
mike
123
john
234
新建虚拟用户账户数据库
cd /etc/vsftpd/
db_ load -T -t hash -f vusers. list vusers.db
file vusers.db
chmod 600 /etc/vsftpd/vusers.*
ls -lh /etc/vsftpd/vusers.*
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod 755 /var/ ftproot
vi /etc/pam. d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.sov db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
auth #对账户名和密码进行认证
account #对密码的有效期及密码账户的--些权限限定的认证
vi /etc/vsftpd/vsftpd.conf
anonymous enable=N0. #关闭匿名账户
local_enable=YES #启用本地账户,一定要启用,如果禁用的话,虚拟用户则无法登录了
chroot local user=YES
guest_enable=YES #启用虚拟用户
guest_username=virtual #指定虚拟用户的宿主用户
pam_service_name=vsftpd.vu #pam认证的文件
anon_world_readable_only=N0 #允许虚拟用户下载
max_clients=400 #最天连接数
max_per_ip=10 #每ip最大可登录数
listen=YES
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd/vusers_dir #配置文件
write_enable=YES
5、设置虚拟账户的配置文件
mkdir /etc/vsftpd/vusers_dir/
cd /etc/vsftpd/vusers_dir/
vi mike #默认mike只可下载,不能上传,需要上传权限,需要另外指定
anon_upload_enable=YES
anon_mkdir_write_enable=YES
write_enable=YES
vi john #空文件,只有下载权限