vsftpd 如何实现多用户共享目录的自读操作

项目要求:开发用户将文件上传到指定目录,多家客户端用户ftp后,直接进入指定目录,进行文件下载,仅能下载,不能做其他增删改等操作。

难点:1.权限分配,仅只读。

2. 其他用户ftp后,直接能看到指定目录。相当于共享目录。

1.安装vsftpd

yum -y install vsftpd    # vsftpd是服务端的服务,ftp是客户端安装连接服务端ftp的工具

systemctl start vsftpd.service

systemctl enable vsftpd.service

netstat -anpt |grep vsftpd

2. 用户创建及配置

useradd hlj #开发用户,负责上传文件

useradd -d /home/hlj01 -m -g hlj hlj01 #客户端用户,负责下载文件

useradd -d /home/hlj02 -m -g hlj hlj02 #客户端用户,负责下载文件

useradd -d /home/hlj03 -m -g hlj hlj03 #客户端用户,负责下载文件

将客户端用户加入到开发用户所在的组中,这样开发用户上传的文件只要开放同组的读权限就可以了。

全部配置好后,将/etc/passwd 文件的客户端用户/bin/bash修改为/sbin/nologin 这样就禁止这些用户的shell操作了。

3.允许哪些用户ftp登录

修改/etc/vsftpd/vsftpd.conf配置 ,在/etc/vsftpd/下有ftpusers和user_list两个文件,vsftpd.conf文件的userlist_enable和userlist_enable参数组合可以实现哪些系统用户可以ftp登录。

当userlist_enable为YES,userlist_enable为YES时,ftpusers和user_list文件中的用户均不能访问

当userlist_enable为YES,userlist_deny为NO时,FTP服务器仅允许user_list中的用户访问

本次我们选了userlist_enable为YES,userlist_deny为NO,我们需要将hlj,hlj01,hlj02,hlj03加入到user_list文件中。

[root@ftpser vsftpd]# cat user_list

hlj
hlj01
hlj02
hlj03
以上用户可以ftp登录到服务器。

4.hlj开发用户上传后的文件权限设置

修改/etc/vsftpd/vsftpd.conf配置

local_umask=022  这样上传的文件权限为644 确保第二位同组用户权限为4,只读权限。

5.共享目录设置

hlj开发用户上传文件的目录为/home/hlj/upfile

su - hlj

mkdir upfile

chmod -R 750 /home/hlj/upfile

chmod -R 750 /home/hlj/

每个用户进入都有自己的目录,ftp后都会进入自己的目录,如何实现所有客户端用户登录后都能显示upfile目录呢?

初期我们使用软连接 ln -s /home/hlj/upfile  /home/hlj01/upfile01  最后发现hlj01用户ftp登录成功后,没有upfile01的权限。百度搜索后,发现软连接会有权限问题。

使用mount --bind 在hlj01-03目录下创建upfile文件

 mount --bind /home/hlj/upfile /home/hlj01/upfile
 mount --bind /home/hlj/upfile /home/hlj02/upfile
 mount --bind /home/hlj/upfile /home/hlj03/upfile

修改/etc/fstab 将mount添加为开机启动

/home/hlj/upfile     /home/hlj01/upfile     none     bind 0 0
/home/hlj/upfile     /home/hlj02/upfile       none    bind 0 0
/home/hlj/upfile     /home/hlj03/upfile       none    bind 0 0

7.更改服务端口号

修改/etc/vsftpd/vsftpd.conf配置

listen_port=8821

重启服务器

8.测试

1.windows cmd  

ftp

open ip port     

2.浏览器  ftp://ip:port

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值