博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux(RadHat)基础学习—FTP服务
阅读量:6718 次
发布时间:2019-06-25

本文共 2877 字,大约阅读时间需要 9 分钟。

RedHat下的ftp服务

1.ftp服务的启动

1.编辑文件:vim /etc/sysconfig/selinux

第6行selinux=disabled
Linux(RadHat)基础学习—FTP服务
保存退出。
重启主机。

2.安装vsftpd

yum install vsftpd -y

Linux(RadHat)基础学习—FTP服务

安装完成:

Linux(RadHat)基础学习—FTP服务

开启ftp服务:

systmctl start vsftpdsystemctl enable vsftpd

Linux(RadHat)基础学习—FTP服务

3.防火墙允许ftp连接

firewall-cmd --permanent --add-service=ftp   ##允许ftp连接firewall-cmd --reload   ##重启火墙使设置生效

Linux(RadHat)基础学习—FTP服务

4.测试:ftp访问此主机ftp://172.25.254.157

Linux(RadHat)基础学习—FTP服务

2.ftp的基本信息

访问数据端口:21

数据传输端口:>1024随机端口

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

访问方式:

lftp ip地址   ##匿名登陆

Linux(RadHat)基础学习—FTP服务

lftp ip地址 -u username   ##用户登陆

Linux(RadHat)基础学习—FTP服务

有关ftp的配置文件: /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)更改配置文件:vim /etc/vsftpd/vsftpd.conf

再文件中写入内容:

chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list

2.限制本地用户登陆

编辑黑名单文件:vim /etc/vsftpd/ftpusers    ##用户永久黑名单写入拒绝登陆的用户帐号

或者

vim /etc/vsftpd/user_list   ##用户临时黑名单写入拒绝登陆的用户帐号

临时黑名单,再一定情况下它可以变成白名单,如下面所示:

3.第二种用户白名单设定

编辑文件:vim /etc/vsftpd/vsftpd.conf写入内容userlist_deny=NO        ##设定参数,此文件从临时黑名单变成白名单,只在名单中出现的用户可登陆ftp

4.ftp虚拟帐号身份

1.创建虚拟帐号身份

(1)编辑新建文件:

vim /etc/vsftpd/userfile(文件名任意)

写入内容:(写入登陆用的帐号和密码,注意在帐号密码之后不要有空格)

Linux(RadHat)基础学习—FTP服务

保存退出。

(2)帐号密码文件哈希加密:

db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/userfile.db

(3)新建编辑密码验证文件:

vim /etc/pam.d/usercheck

写入内容:

Linux(RadHat)基础学习—FTP服务

(4)编辑ftp配置文件:vim /etc/vsftpd/vsftpd.conf

写入内容:

Linux(RadHat)基础学习—FTP服务

(5)最后一步,重启vsftpd服务:

systemctl restart vsftpd

经过以上设置,就可以用设定的帐号密码登陆了。

Linux(RadHat)基础学习—FTP服务

2.给虚拟帐号指定身份(用户组)

编辑vsftp配置文件:vim /etc/vsftpd/vsftpd.conf
写入内容:

guwst_username=ftp  ##指定为ftp用户组身份

重启ftp服务。

3.虚拟帐号独立家目录设定

我们在根目录下创建目录ftphome作为虚拟用户的的家目录。

mkdir /ftphome

(1)编辑文件:vim /etc/vsftpd/vsftpd.conf

添加内容:

local_root=/ftphome/$USERuser_sub_token=$USER

(2)重启ftp服务。

(3)测试:建立目录区分虚拟帐号登陆后进入哪一个家目录:

mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
mkdir /ftphome/user3/user3dir -p
(这里没有改变这个家目录的权限)

登陆虚拟帐号测试。

Linux(RadHat)基础学习—FTP服务
user2登陆进去能看见目录user2dir表示user2用户的家目录是/ftphome/user2

Linux(RadHat)基础学习—FTP服务

user3登陆进去能看见目录user3dir表示user3用户的家目录是/ftphome/user3

5.虚拟账户独立权限配置

(1)新建存储各个虚拟帐号的独立权限的目录:mkdir /etc/vsftpd/userconfig

(2)编辑文件:vim /etc/vsftpd/vsftpd.config

写入内容:
user_config_dir=/etc/vsftpd/userconfig

(3)新建文件:vim /etc/vsftpd/user1(这个文件以虚拟用户的家目录作文件名)

写入相关权限.例如:
Linux(RadHat)基础学习—FTP服务
保存退出,重启fvstpd服务生效。

关于一些ftp的错误提示代码:

350:认证失败

500:权限过大

530:密码帐号错误、认证策略错误

550:服务本身不允许操作

转载于:https://blog.51cto.com/13885935/2154588

你可能感兴趣的文章
S3c2410_SDIO_调试笔记<一>
查看>>
zabbix监控windows tcp连接数
查看>>
Java5线程并发库之其他同步工具类
查看>>
MySQL5.5源码包和5.6源码包安装
查看>>
关于上报错误最简单的实现方式--利用图片
查看>>
知识图谱与问答系统
查看>>
我的友情链接
查看>>
linux开机启动jar
查看>>
重构:改善既有代码的设计 精彩书评二
查看>>
框架与CSRF防御
查看>>
Eclipse汉化
查看>>
MongoDB入门
查看>>
linux操作界面配置
查看>>
命名管道操作
查看>>
Linux下的磁盘使用情况
查看>>
python基础 -- acm
查看>>
android第一天
查看>>
湖南卫视邮件服务器架设方案
查看>>
LoadRunner11破解详解
查看>>
排序算法 时间、空间复杂度
查看>>