linux中的ftp服务
ftp服务(本次实验在server里操作)
*******vsftpd时ftp的服务端。lftp是ftp的客户端,是用来访问的,是两个不一样的东西。
1.ftp的启用
先修改yum源
cd /etc/yum.repos.d
vim /rhel_dvd.repo
改ip为172.25.254.250 ##共享172.25.254.250的yum源
vim /etc/sysconfig/selinux
disabled
reboot
getenforce
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
测试: ftp://172.25.254.144
2.ftp的基本信息
访问数据端口:21
数据传输端口:>1024随机端口
默认发布目录: /var/ftp
访问方式:
lftp 172.25.254.144 ##匿名登陆 ------->/var/ftp
lftp 172.25.254.144 ##本地登陆 ------->/home/student
配置文件:
/etc/vsftpd/vsftpd.conf
3.ftp的安全部署
annoymous_enable=YES|NO ##匿名用户是否可以登陆
local_enable=YES|NO ##本地用户是否可以登陆
write_enable=YES|NO ##本地用户是否可以可写
###4.匿名用户
#匿名用户可上传(put)
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
systemctl restart vsftpd
#匿名用户可下载(get)
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
#匿名用户建立目录
anon_mkdir_write_enable=YES
#匿名用户删除和重命名
anon_other_write_enable=YES
#匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student
#匿名用户家目录修改(比如说之前匿名用户登进去之后就直接进的时ftp ,我改成westos,然后他进去之后就进的是westos)
anon_root=/directory
#匿名用户上传文件默认权限修改
anon_umask=xxx
#最大上传速率
anon_max_rate=10240
#最大连接数(最多可以登陆2台)
max_clients=2
#限制本地用户浏览/目录
所有用户被锁定到自己的家目录里面
chroot_local_user=YES
chmod u-w /home/*
用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ##实则编写ftpusers文件
本地用户家目录修改
local_root=/directory
本地用户上传文件权限
local_umask=xxx
##限制本地用户登陆
vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
用户白名单设定
vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO
vim /etc/vsftpd/user_list ##参数设定,此文件变成白名单,之在白名单中出现的用户可以登陆ftp
#ftp虚拟用户的设定
创建虚拟帐号身份
vim /etc/vsftpd/westosfile ##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
vim /etc/pam.d/westos ##文件名称任意
account required pam_userdb.so db=/etc/vsftpd/westosfile
auth required pam_userdb.so db=/etc/vsftpd/westosfile
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=/ftphome/$USER
user_sub_token=$USER
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级最高