linux系统中的ftp服务搭建及其应用,用户权限设置、虚拟用户设置

1.调配网络

调配网络

切换到路径 cd /etc/yum.repos.d/
ls 查看
vim xoxo_dvd.repo
将里边的file后边的地址改为能获取yum 源的
yum clean all 清理之前的信息
yum repolist 查看所有的可获取的信息
vim /etc/sysconfig/selinux 将里边的网络调配成disabled
然后重启一下
getenforce 查看 得出 disabled 就是正确的
yum repolist 在这里插入图片描述

ftp环境配置

环境配置

[root@localhost yum.repos.d]# yum install vsftpd.x86_64 -y               下载网络信息
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-21.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch             Version                 Repository      Size
================================================================================
Installing:
 vsftpd           x86_64           3.0.2-21.el7            xoxo           169 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 169 k
Installed size: 348 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : vsftpd-3.0.2-21.el7.x86_64                                   1/1 
xoxo/productid                                           | 1.6 kB     00:00     
  Verifying  : vsftpd-3.0.2-21.el7.x86_64                                   1/1 

Installed:
  vsftpd.x86_64 0:3.0.2-21.el7                                                  

Complete!
[root@localhost yum.repos.d]# systemctl start vsftpd                      开启vsftpd 这样才能打开
[root@localhost yum.repos.d]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost yum.repos.d]# firewall-cmd --list-all                     查看防火墙伪装状态是否打开i
public
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: dhcpv6-client ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  sourceports: 
  icmp-blocks: 
  rich rules: 
	
[root@localhost yum.repos.d]# firewall-cmd --permanent --add-masquerade        打开防火墙伪装
success
[root@localhost yum.repos.d]# firewall-cmd --reload  
success
[root@localhost yum.repos.d]# firewall-config                 将ftp 永久加上去
[root@localhost yum.repos.d]# yum install lftp.               下载lftp 
lftp.i686    lftp.x86_64  
[root@localhost yum.repos.d]# yum install lftp.x86_64  -y
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package lftp.x86_64 0:4.4.8-8.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch              Version                Repository       Size
================================================================================
Installing:
 lftp            x86_64            4.4.8-8.el7            xoxo            751 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 751 k
Installed size: 2.4 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : lftp-4.4.8-8.el7.x86_64                                      1/1 
  Verifying  : lftp-4.4.8-8.el7.x86_64                                      1/1 

Installed:
  lftp.x86_64 0:4.4.8-8.el7                                                     

Complete!
  
[root@localhost ~]# lftp 172.25.254.204			lftp连接检测
lftp 172.25.254.200:~> ls                  查看有内容 正确
drwxr-xr-x    2 0        0               6 Jun 23  2016 pub
lftp 172.25.254.200:/> exit
[root@localhost ~]# 



ftp服务的基本信息

软件的安装包 : vsftpd
默认发布目录 ; /var/ftp
协议接口 : 21/tcp
服务配置文件 ; /etc/vsftpd/vsftpd.conf
报错id的解析
500 文件系统权限过大
530 用户认证失败
550 服务本身功能未开放
553 本地文件系统权限过小

ftp应用
  • 4,vim /etc/vsftpd/vsftpd.conf

匿名用户
vim /etc/vsftpd/vsftpd.conf

  • anonymous_enable=YES 匿名用户是否可以登陆
    在这里插入图片描述
    本地用户
  • local_enable=YES | NO ftp是否允许本地用户登陆

在这里插入图片描述

  • write_enable=YES | NO ftp是否对登陆用户可写

在这里插入图片描述
在这里插入图片描述

  • < 匿名用户上传 >

vim /etc/vsftpd/vsftpd.conf 编辑文件内容
write_enable =YES
anon_upload_enable=YES 上传
systemctl restart vsftpd 重启服务
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub 更改pub的权限,以及pub的组,以防在设置时不被拒绝权限
连接用户 lftp 172.25.254.204 连接之后的操作都是在pub目录下进行的
cd pub/
put /etc/passwd 传输在这里插入图片描述
在这里插入图片描述

  • 匿名用户家目录修改

若是进行该该项设置,匿名用户家目录默认在 /var/ftp
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd 重启服务
anon_root=/directory在这里插入图片描述
在这里插入图片描述

  • 匿名用户建立目录

vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES | NO
systemctl restart vsftpd 重启服务
在这里插入图片描述

  • 匿名用户下载

vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=YES | NO 设定参数值为no表示匿名用户可以下载
systemctl restart vsftpd 重启服务
lftp 172.25.254.204
在这里插入图片描述

  • 匿名用户删除

vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES | NO

systemctl restart vsftpd 重启服务在这里插入图片描述

  • 匿名用户上传文件默认权限修改

vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd 重启服务
anon_umask=xxx(022) (umask值) 将lftp的mask值改变 重新连接之后会发现权限改变(mask值改变)在这里插入图片描述

  • max_clients=2 允许登陆的最大用户是2个在这里插入图片描述在这里插入图片描述
  • anon_max_rate=102400 (此处默认的单位是字节,1k=1024字节) 最大的上传速度限制在这里插入图片描述

在这里插入图片描述

  • < 本地用户的上传登陆 >

vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES 允许其他用户上传
chown_username=student 指定student用户上传
chown_upload_mode=0644 改变用户上传权限

systemctl restart vsftpd 重启服务在这里插入图片描述
在设置完毕之后进入pub 目录下操作
上传一个文件 ,使用ls 查看在这里插入图片描述

  • local_root=/绝对路径 #本地用户家目录修改,默认登陆用户家目录

在这里插入图片描述
在这里插入图片描述

  • local_umask=xxx #本地用户上传文件的umask值

在这里插入图片描述
在这里插入图片描述< 限制本地用户浏览/目录 >
所有用户被锁定到自己的家目录中
vim /etc/vsftpd/vsftpd.conf
chroot local_user=YES
chmod ugo-w /home/* 在设置所有只能看自己的家目录时候,需要将home目录下的所有减 w 权限,这样就不会跟设置里边的有冲突

用户的黑白名单
用户的黑名单
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=NO 此时的意思为所有用户都可以查看所有目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
systemctl restart vsftpd 重启服务
vim /etc/vsftpd/chroot_list 在这个文件中书写 student用户 就表明此用户为不可登陆在这里插入图片描述

用户白名单
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES 此时的意思为所有用户都不可以查看所有目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
systemctl restart vsftpd 重启服务
vim /etc/vsftpd/chroot_lis 在这个文件中书写 student用户,就表明此用户为可登陆在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述< 限制本地限制本地用户的登陆的黑白名单 >
vim /etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/ftpusers 用户黑名单
vim /etc/vsftpd/user_list 用户临时黑名单
在这里插入图片描述

用户白名单设置
vim /etc/vsftpd/vsftpd.conf
serlist_enable=YES #开启用户登陆名单功能
userlist_deny=NO #取消名单默认为黑名单
systemctl restart vsftpd 重启服务
etc /vsftpd/user_list 参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
在这里插入图片描述
在这里插入图片描述

ftp 虚拟用户的设定
创建虚拟帐号身份
1,vim /etc/vsftpd/lcfile 这里的文件名称可以任意起名字
user1 在ftp登陆的用户,只是限制与登陆ftp 。本身就不是一个用户的,只针对 ftp登陆
123 用户密码
user2 设置多个是为了更好的佐证做法是否正确
123 密码
2,db_load -T -t hash -f /etc/vsftpd/lcfile /etc/vsftpd/lcfile.db 将lc这个文件加密为 lcfile.db
3,可以查看/etc/vsfptd 这个目录下的文件 是否有lcfile.db 这个加密文件

4,vim /etc/pam.d/lc 文件名称任意 (书写其需要登陆的帐号及其密码的加密文件)
account required pam_userdb.so db=/etc/vsftpd/lcfile
auth required pam_userdb.so db=/etc/vsftpd/lcfile
vim /etc/vsftpd/vsftpd.conf
pam_service_name=lc
guest_enable=YES
guest_username=ftps
systemctl restart vsftpd
在这里插入图片描述


< 虚拟帐号家目录独立设定 >

mkdir /var/bobo
cd /var/bobo
mkdir user{1…3}
touch /var/bobo/user1/user1file 在此作出的文件是后边登陆能够更明显的查看,对比效果更明显
vim /etc/vsftpd/vsftpd.conf
更改里边的配置
local_root=/ftphome/$USER
user_sub_token=$USER 在这里插入图片描述

连接lftp 172.25.254.212 -u user1
连接之后查看user1file是否存在


设置虚拟用户独立配置文件
1,mkdir /etc/vsftpd/opq 建立一个目录 ,目的就是为了将 user_config_dir(这是一个配置文件)=/etc/vsftpd/opq 放到这个目录里。在其中写入,创建一个虚拟用户的配置目录,在该目录中创建出与用户名称一致的文件,该文件就是用户的专属的配置文件。

2,vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/opq 目的是放到这个目录里。在这里插入图片描述
systemctl restart vdftpd 重启一下ftp服务

但是应注意要把主配置文件关于匿名用户的设置全部注释,否则默认读取原来的配置文件。在用户的独立配置文件toto1中添加关于匿名用户配置语句,重启服务,以toto1的身份登陆可以使用独立配置文件中设置的权限,但是其他暂未设置独立权限的用户无法使用,说明独立配置文件设置成功。

3,建立一个目录 pub
mkdir /var/bobo/user{1…3}/pub 因为在这个的路径下是可以ftp登陆的,所以在这个的路径下操作的,
然后登陆lftp 172.25.254.212 -u user1 查看一下是否有pub这个目录存在
chmod 755 /var/bobo/user{1…3}/pub 赋予其权限为755,
chgrp ftp /var/bobo/user{1…3}/pub 将pub的组改为ftp

root@localhost ~]# mkdir  /etc/vsftpd/opt
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# mkdir /var/bobo/user{1..3}/pub
[root@localhost ~]# chmod  755  /var/bobo/user{1..3}/pub
[root@localhost ~]# chgrp ftp /var/bobo/user{1..3}/pub
[root@localhost ~]# lftp 172.25.254.200 -u user1
Password: 
lftp user1@172.25.254.200:~> ls 
-rw-r--r--        1   0             0            0   APR   24  07:18  pub
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值