ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

文件共享存储服务-ftp

2020-05-30 19:07:18  阅读:402  来源: 互联网

标签:ftp 存储 文件共享 lftp 192.168 YES 11.140 cw


ftp|lftp

  1. ftp(File Transfer Protocol)文件传输协议
  2. C/S模式
  3. 默认使用20、21端口:20端口传输数据,21端口传输命令
  4. PORT主动模式
  5. PASV被动模式

vsftpd

  1. 安装 yum install vsftpd -y
  2. 三种认证模式:匿名用户、本地用户、虚拟用户

匿名用户

  1. 使用ftp用户作为映射用户,默认家目录是/var/ftp
  2. 相关配置文件参数详解
参数 功能
anonymous_enable=[YES| NO] 是否允许匿名用户访问,默认YES
write_enable=[YES|NO] 是否允许修改文件系统,默认为YES
anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件,默认NO
anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建文件夹,默认NO
anon_other_write_enable=[YES|NO] 是否允许匿名用户具有删除、重命名等权限,默认NO

本地用户

  1. 使用本地用户,家目录即为默认存储目录,安全性大于匿名用户
  2. 相关配置文件参数详解
参数 功能
local_enable=[YES|NO] 是否允许本地用户登陆ftp,默认YES
local_umask=022 本地用户上传文件的umask值
write_enable=[YES|NO] 是否允许修改文件系统,默认为YES
chroot_local_user=[YES|NO] 将用户权限禁锢在家目录,默认为NO
allow_writeable_chroot=[YES|NO] 是否允许对家目录目录执行写入操作

虚拟用户

  1. 创建用户数据库文件,仅供ftp服务进行认证使用,安全性最高

示例

要求

  1. 以/ftp作为ftp根目录,/ftp/pub作为公共目录只允许查看、下载
  2. /ftp/hr目录只允许hr用户上传、下载、删除等操作,别的用户不可以查看
  3. /ftp/cw目录只允许cw用户上次、下载、删除等操作,别的用户不可以查看
  4. 本地用户登录ftp需要禁锢在家目录

环境

系统 IP 软件 备注
Server_centos7 192.168.11.140 vsftpd 关闭防火墙和selinux
Client_centos7 192.168.11.141 ftp lftp null

操作步骤

Server端操作步骤

  1. 安装
]# yum install vsftpd -y
  1. 创建/ftp/{pub,hr,cw}目录
]# mkdir -p /ftp/{pub,hr,cw}
  1. 创建本地用户
]# useradd -d /ftp -s /sbin/nologin hr;echo "123123"|passwd --stdin hr
]# chown -R hr.hr /ftp/hr;chmod 700 /ftp/hr
]# useradd -d /ftp -s /sbin/nologin cw;echo "123123"|passwd --stdin cw
]# chown -R cw.cw /ftp/cw;chmod 700 /ftp/cw
  1. 修改配置文件
]# mv /etc/vsftpd/vsftpd.conf{,.bak}
]# grep -v "#" /etc/vsftpd/vsftpd.conf.bak > /etc/vsftpd/vsftpd.conf
]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO

local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_umask=022

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
]# systemctl start vsftpd

Client端操作步骤

  1. 安装ftp/lftp工具
]# yum install ftp lftp -y #根据自己喜好选择安装ftp/lftp
  1. 验证cw用户是否可以在/ftp/cw目录下上传、下载、删除等操作
]# lftp -u cw 192.168.11.140
lftp cw@192.168.11.140:~> ls
drwx------    2 0        0               6 May 30 10:27 cw
drwx------    2 0        0               6 May 30 10:27 hr
drwxr-xr-x    2 0        0               6 May 30 10:27 pub
lftp cw@192.168.11.140:/cw> ls
lftp cw@192.168.11.140:/cw> pwd
ftp://cw@192.168.11.140/cw
lftp cw@192.168.11.140:/cw> put /etc/issue
23 bytes transferred
lftp cw@192.168.11.140:/cw> ls
-rw-r--r--    1 1003     1003           23 May 30 10:34 issue
lftp cw@192.168.11.140:/cw> mkdir test
mkdir ok, `test' created
lftp cw@192.168.11.140:/cw> ls
-rw-r--r--    1 1003     1003           23 May 30 10:34 issue
drwxr-xr-x    2 1003     1003            6 May 30 10:34 test
lftp cw@192.168.11.140:/cw> rm -rf test
rm ok, `test' removed
lftp cw@192.168.11.140:/cw> ls
-rw-r--r--    1 1003     1003           23 May 30 10:34 issue
  1. 验证cw用户是否可查看/ftp/{pub,hr}目录的内容,并是否可以上传、下载、删除等
lftp cw@192.168.11.140:/> pwd
ftp://cw@192.168.11.140/
lftp cw@192.168.11.140:/> ls
drwx------    2 0        0               6 May 30 10:27 cw
drwx------    2 0        0               6 May 30 10:27 hr
drwxr-xr-x    2 0        0               6 May 30 10:27 pub
lftp cw@192.168.11.140:/> cd hr
lftp cw@192.168.11.140:/hr> pwd
ftp://cw@192.168.11.140/hr
lftp cw@192.168.11.140:/hr> ls
ls: Access failed: 550 Failed to change directory.
lftp cw@192.168.11.140:/hr> 
lftp cw@192.168.11.140:/> pwd
ftp://cw@192.168.11.140/
lftp cw@192.168.11.140:/> ls
drwx------    2 0        0               6 May 30 10:27 cw
drwx------    2 0        0               6 May 30 10:27 hr
drwxr-xr-x    2 0        0               6 May 30 10:27 pub
lftp cw@192.168.11.140:/> cd hr
lftp cw@192.168.11.140:/hr> pwd
ftp://cw@192.168.11.140/hr
lftp cw@192.168.11.140:/hr> ls
ls: Access failed: 550 Failed to change directory.
lftp cw@192.168.11.140:/hr> cd ../pub/
lftp cw@192.168.11.140:/pub> ls
lftp cw@192.168.11.140:/pub> put /etc/redhat-release 
put: Access failed: 553 Could not create file. (redhat-release)
lftp cw@192.168.11.140:/pub> ls
-rw-r--r--    1 0        0               0 May 30 10:37 1.txt
lftp cw@192.168.11.140:/pub> get 1.txt 
lftp cw@192.168.11.140:/pub> !ls
1.txt  anaconda-ks.cfg	apache-tomcat-8.5.53.tar.gz  dead.letter  test.file
  1. 符合示例要求,结束

注意点:
1.注意目录的权限
2.注意vsftp.conf的配置文件是否禁锢在家目录
3.vsftpd.conf参数详解,也可以 man vsftpd.conf查看帮助

标签:ftp,存储,文件共享,lftp,192.168,YES,11.140,cw
来源: https://www.cnblogs.com/wanwz/p/12992422.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有