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目录下的文件,而是原来设定的目录

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

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

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

独立每个用户的权限

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的登录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值