FTP服务的部署

1.关于FTP

    ftp是一种文件传输协议,是TCP/IP协议组中的协议之一,为了提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明度和可靠性高效的传送数据,FTP就是完成两台计算机之间的拷贝。

2.ftp服务的部署

选虚拟机作为远程计算机(IP:172.25.254.1)

yum install vsftpd  -y        ##安装ftpd

systemctl  start  vsftpd  

systemctl  enable vsftpd     ##开机自启


firewall-config      ##设置火墙,永久开启ftp服务,点击Options,选择Reload Firewalld

内核火墙三种状态:enforcing ##强制;disabled ##关闭; permissive##警告

vim /etc/sysconfig/selinux         ##内核火墙配置文件

关闭火墙


  
reboot                         ###重启,重新读取配置文件
getenforce                  ##查看状态,显示disabled,配置完成

3.ftp服务的基本信息

     /var/ftp/pub           ##共享目录,默认发布目录


     FTP连接方式:lftp IP  
     协议接口:21/tcp

     服务的配置文件: /etc/vsftpd/vsftpd.conf

4.常见报错信息类型

     500  ##权限过大
     530  ##认证失败
     550  ##程序本身不允许
     553  ##服务器上的文件系统不允许

5.ftp对匿名用户以及本地用户的权限设定

vim /etc/vsftpd/vsftpd.conf

systemctl restart vsftpd.service       ##重启ftp

只要是修改过配置文件就要重启FTP

(1)anonymous_enable=YES | NO    ##匿名用户登陆权限,YES允许匿名用户登录


local_enable=YES             ##本地用户登陆权限,NO不允许本地用户登录


write_enable=YES        ##本地用户写的权限开启

write_enable=NO ,本地用户不可写


(2)

chgrp ftp /var/ftp/pub                   ###设置/var/ftp/pub为ftp的组,ftp可写,/pub也可写
chmod 775 /var/ftp/pub                ###ftp权限为‘7’


anon_upload_enable=YES                ###上传

anon_world_readable_only=NO           ###下载
anon_other_write_enable=YES           ###删除文件,
anon_mkdir_write_enable=YES           ###建立文件夹,重命名 mv westos/  linux

put  ##上传
get  ##下载





(3)

chown_uploads=YES                        ###开启文件上传用户的权限
chown_username=student                ###文件上传用户为student
chown_upload_mode=0644               ###文件权限为644
anon_umask=022                              ###匿名用户系统保留权限022(777-111=666-022=644)

下图可见student的uid=1000,上传文件的权限为‘-rw-r--r--'也就是644


(4)

local_root=/westos                         ##修改本地用户家目录



(5)

anon_root=/fancy                   ###匿名用户家目录修改,切换进去是fancy/下




(6)

max_clients=2                               ##连接用户数


当一个断开连接时,连不上的用户马上连接,总的连接数始终为3


(7)

anon_max_rate=204800            ##上传速率在200k左右,单位为B(字节)

生成一个2G的文件在桌面


限定上传速率为200k


不设限制,上传速率很快达到70M/s


(8)

chroot_local_user=YES                      ###本地用户被锁住,只能进入家目录

本地用户仅能进入家目录


chroot_list_enable=YES                      ###开启名单,规定了那些用户可以进入家目录,那些不可以进入
chroot_list_file=/etc/vsftpd/chroot_list   ###和chroot_list_enable=YES 同时开启

写入黑名单中不能访问其他目录

chroot_list_enable=YES           ###可以进入别的目录,开启白名单

 

可以进入根目录


(9)限制本地用户登陆

vim /etc/vsftpd/ftpusers                     ###永久黑名单


student用户无法登陆


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

用户白名单设定

userlist_enabled=YES                         ##一直开着,是userlist_deny=NO|YES的前提

userlist_deny=NO|YES                         ###白名单|黑名单




注意:/etc/vsftpd/ftpusers的优先级高, /etc/vsftpd/user_list设定白名单,依然登陆不上

 当student同时在永久黑名单和白名单中时,还是 /etc/vsftpd/ftpusers的优先级高,student无法登陆,当在永久黑名单中删除student,student正常登陆        


6.ftp虚拟用户的设定

(1).vim /etc/vsftpd/westosfie    ##文件名任意

student1

123

student1

123

student1

123

(2).db_load -T -t hsah -f /etc/vsftpd/westosfie  /etc/vsftpd/westosfie.db        ##加密方式 -t:加密方式 -T:转换   -f:要加密的文件


(3).vim /etc/pam.d/westos         ##文件名任意

account  required   pam_userdb.so    db=/etc/vsftpd/westosfie     ##用户名

auth     required   pam_userdb.so    db=/etc/vsftpd/westosfie     ##密码


(4).vim /etc/vsftpd/vsftpd.conf

:

pam_service_name=westos        ##把服务与建立的数据库联系起来,知道要去访问/etc/pam.d/westos/这个文件;服务名称一定要和/etc/pam.d/westos一致

guest_enable=YES        

guest_username=student         ##虚拟用户student1,student2,student3以本地用户student去访问,进入的家目录也就是student的家目录


(5).chmod u-w /home/student      ##报错500,权限过大,设定用户权限

student1,student2,student3正常登陆,因为我把student的家目录

local_root=/westos 注释了,所以不会显示(9)中student目录下的文件,而是原来设定的目录


7.

虚拟帐号家目录的独立设定

mkdir -p /ftpdir/student{1..3}  

touch /ftpdir/student1/studentfile1

touch /ftpdir/student2/studentfile2

touch /ftpdir/student3/studentfile3

vim /etc/vsftpd/vsftpd.conf

:

local_root=/ftpdir/$USER

user_sub_token=$USER


每个用户会对应的访问自己的家目录


8.

独立每个用户的权限

mkdir /ftpdir/student{1..3}/pub

chgrp student /ftpdir/student{1..3}/pub    

chmod 775 /ftpdir/student{1..3}/pub       ##给权限

mkdir /etc/vsftpd/confdir/student{1..3}   


vim /etc/vsftpd/vsftpd.conf

:

user_config_dir=/etc/vsftpd/confdir

注释掉匿名用户的权限,以免混乱


只有student1用户有上传和写的权限



student2没有权限会报错


要注意的是,虚拟用户设定之后,本地用户student不能登录,记得把pam_service_name=westos  恢复为  pam_service_name=vsftpd,这样就可以恢复student的登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值