1.ftp服务
1.ftp服务的启动
1.编辑文件:vim /etc/sysconfig/selinux
第6行selinux=disabled
保存退出。
重启主机。
2.安装vsftpd
yum install vsftpd -y
systmctl start vsftpd
systemctl enable vsftpd
3.防火墙允许ftp连接
firewall-cmd --permanent --add-service=ftp ##允许ftp连接
firewall-cmd --reload ##重启火墙使设置生效
网页王文ftp://172.25.254.100
2.ftp的基本信息
访问数据端口:21
数据传输端口:>1024随机端口
默认发布目录:/var/ftp/
访问方式:
lftp ip地址 ##匿名登陆
lftp ip地址 -u username ##用户登陆
配置文件: /etc/vsftpd/vsftpd.conf
3.ftp的安全部署
编辑配置文件:vim /etc/vsftpd/vsftpd.conf
(1)anonymous_enable=YES|NO:匿名用户是否可登陆
(2)local_enable=YES|NO:本地用户是否可以登陆
(3)write_enable=YES|NO:本地用户是否可写文件
(4)设置匿名用户可写:
a.改变目录权限,使用户组有可写权限:chmod 775 /var/ftp/pub
b.目录的所有组改成ftp组:chgrp ftp /var/ftp/pub(匿名登陆用户属于ftp组)
编辑文件/etc/vsftpd/vsftpd.conf第29行,改为YES
(5)anon_upload_enable=YES|NO:匿名用户可上传
(6)anon_world_readable_only=YES|NO:匿名用户可下载(NO表示可下载)
(7)anon_mkdir_write_enable=YES|NO:匿名用户建立目录
(8)anon_other_write_enable=YES|NO:匿名用户删除和重命名
(9)anon_root=目录:匿名用户家目录修改
(10)anon_umask=xxx:匿名用户上传文件默认权限修改
(11)匿名用户的身份修改:
chown_uploads=YES
chown_username=student(修改为student身份)
(12)anon_max_rate=102400:最大上传速率
(13)max_clients=5:最大连接数
每次更改/etc/vsftpd/vsftpd.conf文件后,都需要重启服务使更改生效:
systemctl restart vsftpd
1.建立用户白名单:
(1)新建白名单文件:vim /etc/vsftpd/chroot_list
(2)更改配置文件:
写入内容:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
2.限制本地用户登陆
vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
3.第二种用户白名单设定
userlist_deny=NO ##设定参数,此文件从临时黑名单变成白名单,只在名单中出现的用户可登陆ftp
/etc/vsftpd/user_list:编辑文件增删改名单
用户就可以登陆ftp了。
4.ftp虚拟帐号身份
(1)创建虚拟帐号身份
vim /etc/vsftpd/userfile(文件名任意)
写入内容:
user1
passwd1
user2
passwd2
user3
passwd3
保存退出。
帐号密码文件哈希加密:db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/userfile.db
vim /etc/pam.d/usercheck
account required pam_userdb.so db=/etc/vsftpd/userfile
auth required pam_userdb.so db=/etc/vsftpd/userfile
vim /etc/vsftpd/vsftpd.conf
pam_service_name=usercheck
guest_enable=YES
(2)虚拟帐号身份指定
guwst_username=ftpuser
chmod u-w /home/ftpuser
(3)虚拟帐号家目录独立设定
编辑文件:vim /etc/vsftpd/vsftpd.conf
添加内容:
local_root=/ftphome/$USER
user_sub_token=$USER
建立目录区分虚拟帐号登陆后进入哪一个家目录:
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
mkdir /ftphome/user3/user3dir -p
(这里没有改变这个家目录的权限)
登陆虚拟帐号测试。
5.虚拟账户独立权限配置
(1)新建存储各个虚拟帐号的独立权限的目录:mkdir /etc/vsftpd/userconfig
(2)编辑文件:vim /etc/vsftpd/vsftpd.config
写入内容:
user_config_dir=/etc/vsftpd/userconfig
(3)新建文件:vim /etc/vsftpd/user1(这个文件以虚拟用户的家目录作文件名)
写入相关权限.
保存退出
关于一些ftp的错误提示代码:
350:认证失败
500:权限过大
530:密码帐号错误、认证策略错误
550:服务本身不允许操作
原文地址:https://www.cnblogs.com/ChangAn223/p/9417417.html