ProFTPD部署教程

服务器环境:Centos 7

下载ProFTP:
wget ftp://ftp1.hk.proftpd.org/proftpd/distrib/source/proftpd-1.3.5c.tar.gz
(如果下载过慢请用迅雷下载后通过lrzsz工具上传到服务器)

1.FTP要求:
公司四个部门:运维部、开发部、财务部、金融部
各部门用户访问FTP后可以看到所有目录,仅可以访问本部门的目录
需要FTP日志功能
FTP认证方式基于文件认证方式
共享目录:/var/ftp

2.解压文件:
#tar zxvf proftpd-1.3.5c.tar.gz -C /usr/src/

#cd /usr/src/proftpd-1.3.5c/

3.安装ProFTPD:
#./configure --help 查看帮助选项
######################################################################################
以下为部分选项说明:
–prefix=PREFIX 指定安装路径(–prefix=/usr/local/)
–sysconfdir=DIR 指定FTP服务配置文件路径(–sysconfdir=/etc)
–localstatedir=DIR 指定运行状态的文件存放位置(默认/var/proftpd)
–with-modules=mod_ldap 指定加载功能模块
–enable-memcache 支持缓存功能
–enable-nls 支持多语言环境(如中文),安装完成后在主配置文件中需要指定字符编码(UseEncoding UTF-8 CP936)
–enable-openssl 支持TLS加密FTP服务
–enable-shadow 支持使用/etc/shadow验证用户密码
######################################################################################################

注:需要GCC编译器与openssl-deve(自行通过yum安装)
#./configure --prefix=/usr/local/proftpd --sysconfdir=/etc/ --enable-nls --enable-openssl --enable-shadow
#make
#make install
#PATH=echo$PATH:/usr/local/proftpd/bin 添加环境变量
#useradd -M -s /sbin/nologin proftp
创建启动用户及组(该用户无法登录系统,没有宿主目录)

4.建立共享目录,修改配置文件:

#mkdir -p /var/ftp/{运维部,开发部,销售部,行政部}
#useradd -M -s /sbin/nologin yunwei
#useradd -M -s /sbin/nologin kaifa
#useradd -M -s /sbin/nologin xiaoshou
#useradd -M -s /sbin/nologin xingzheng
#chmod 777 /var/ftp/运维部
#chmod 777 /var/ftp/开发部
#chmod 777 /var/ftp/销售部
#chmod 777 /var/ftp/行政部

#vim /etc/proftpd.conf 以下为配置文件原文(行号仅为参考值)


 1   # This is a basic ProFTPD configuration file (rename it to 2    # 'proftpd.conf' for actual use.  It establishes a single server3 # and a single anonymous login.  It assumes that you have a user/group4 # "nobody" and "ftp" for normal operation and anon.56   ServerName  "ProFTPD Default Installation"客户端连接后显示的字符7    ServerType  standalone服务启动模式8   DefaultServer   on9
10  # Port 21 is the standard FTP port.
11  Port    21  端口
12
13  # Don't use IPv6 support by default.
14  UseIPv6 off 禁用IPv6
15
16  # Umask 022 is a good standard umask to prevent new dirs and files
17  # from being group and world writable.
18  Umask   022     权限掩码
19
20  # To prevent DoS attacks, set the maximum number of child processes
21  # to 30.  If you need to allow more than 30 concurrent connections
22  # at once, simply increase this value.  Note that this ONLY works
23  # in standalone mode, in inetd mode you should use an inetd server
24  # that allows you to limit maximum number of processes per service
25  # (such as xinetd).
26  MaxInstances    30      并发进程30个(防DoS***)
27
28  # Set the user and group under which the server will run.
29  User    nobody  启动服务的用户
30  Group   nobody  启动服务的组
31
32  # To cause every FTP user to be "jailed" (chrooted) into their home
33  # directory, uncomment this line.
34  #DefaultRoot ~  共享根目录(默认为用户家目录)
35
36  # Normally, we want files to be overwriteable.
37  AllowOverwrite  on  是否允许使用文件覆写权限
38
39  # Bar use of SITE CHMOD by default
40  <Limit SITE_CHMOD>    权限设置
41   DenyAll
42  </Limit>
43
44  # A basic anonymous configuration, no upload directories.  If you do not
45  # want anonymous users, simply delete this entire <Anonymous> section.
46  <Anonymous ~ftp>
47   User   ftp
48   Group  ftp
49
50   # We want clients to be able to login with "anonymous" as well as "ftp"
51   UserAlias  anonymous ftp   用户别名
52
53   # Limit the maximum number of anonymous logins
54   MaxClients 10          最大客户端连接数
55
56   # We want 'welcome.msg' displayed at login, and '.message' displayed
57   # in each newly chdired directory.
58   DisplayLogin   welcome.msg 显示登录信息
59   DisplayChdir   .message
60
61   # Limit WRITE everywhere in the anonymous chroot
62   <Limit WRITE>    权限设置
63     DenyAll
64   </Limit>
65  </Anonymous>

<anonymouse “路径”> 匿名共享路径相关设置(包括权限设置) #

Limit权限说明:
CWD : Change Working Directory 进入该目录
MKD : Make Directory 创建目录
RNFR : Rename from 更名
DELE : Delete 删除文件
RMD : Remove Directory 删除目录
READ : 可读
WRITE: 可写
STOR : 可上传
RETR : 可下载
DIRS : 允许列出目录
LOGIN: 允许登录
ALL : 全部

修改后有效的配置文件内容,部分内容为添加内容(#开始的部分为注释):

 6   ServerName  "ProFTPD Default Installation"7   ServerType  standalone8 DefaultServer   on9  UseEncoding UTF-8 CP936    支持的编码格式(中文)
11  Port    21
12  AllowRetrieveRestart    on    允许断点继传(上传)
13  AllowStoreRestart   on    允许断点继传(下载)
14  UseIPv6 off
18  Umask   022
19  RootLogin   off 禁止root登录ftp
26  MaxInstances    30
27  SystemLog   /var/log/proftp.log产生独立的日志文件
28  TransferLog /var/log/proftp.log记录用户下载的日志信息

#####如果想指定自己的日志格式可以结合(ExtendLog,LogFormat)两个选项设置

29   User    proftp    设置启动用户为proftp
30  Group   proftp    设置启动组为proftp
34  DefaultRoot /var/ftp      指定共享根目录为/var/ftp
37  AllowOverwrite  on
46  #<Anonymous ~ftp> 该部分全部#注释,取消匿名访问功能
47  #  User ftp
48  #  Group    ftp
51  #  UserAlias    anonymous ftp
54  #  MaxClients   10
58  #  DisplayLogin welcome.msg
59  #  DisplayChdir .message
62  #  <Limit WRITE>
63  #    DenyAll
64  #  </Limit>
65  #</Anonymous>

以下内容为设置权限,为手动添加内容
所有用户可以看到所有部门的文件夹,仅可以访问自己部门的目录


67  RequireValidShell off    用户登录是否需要shell(对虚拟用户很重要)
68  AuthUserFile /usr/local/proftpd/ftpd.passwd通过文件认证用户登录,需要ftpasswd命令创建该文件
69  <Directory "/var/ftp/*">
70  <Limit CWD READ>   允许所有人可以查看根目录
71  AllowAll
72  </Limit>
73  </Directory>
74  <Directory "/var/ftp/运维部">
75  <Limit CWD MKD RNFR READ WRITE STOR RETR>
76  DenyAll  拒绝所有人往该目录下执行Limit后的操作指令
77  </Limit>
78  <Limit DELE>
79  DenyAll  禁止任何人在该目录下删除文件
80  </Limit>
81  <Limit CWD MKD RNFR READ WRITE STOR RETR>
82  AllowUser yunwei 仅允许yunwei用户可以执行Limit后的所有指令
83  </Limit>
84  </Directory>
85  <Directory "/var/ftp/开发部">
86  <Limit CWD MKD RNFR READ WRITE STOR RETR>
87  DenyAll
88  </Limit>
89  <Limit DELE>
90  DenyAll
91  </Limit>
92  <Limit CWD MKD RNFR READ WRITE STOR RETR>
93  AllowUser kaifa
94  </Limit>
95  </Directory>
96  <Directory "/var/ftp/行政部">
97  <Limit CWD MKD RNFR READ WRITE STOR RETR>
98  DenyAll
99  </Limit>

100
101 DenyAll
102
103
104 AllowUser xingzheng
105
106
107 <Directory “/var/ftp/销售部”>
108
109 DenyAll
110
111
112 DenyAll
113
114
115 AllowUser xiaoshou
116
117


5.创建虚机帐号

ftpasswd命令格式说明
(该命令可以创建用户文件、组文件,默认创建的用户文件为ftpd.passwd):
–passwd 创建密码文件,即AuthUserFile指定的文件
–group 创建组文件
–name 指定创建的用户名
–uid 指定用户虚拟UID
–gid 指定虚拟GID
–home 指定用户家目录
–shell 指定用户Shell
–file 指定创建的文件名

#ftpasswd --passwd --name=yunwei --uid=1000 --home=/home/nohome --shell=/bin/false

6.启动FTP服务:

#/usr/local/proftpd/sbin/proftpd

ProFTPD部署教程相关推荐

  1. kafka不使用自带zk_kafka 安装部署教程

    kafka 安装部署教程 1. 下载 官网链接 http://kafka.apache.org/downloads 浙大源 http://mirrors.tuna.tsinghua.edu.cn/ap ...

  2. 七丶青龙nvjdc部署教程+短信验证登录对接傻妞

    青龙nvjdc部署教程+短信验证登录对接傻妞Nolanjdc 没有服务器的先自行购买,这里推荐腾讯云2H4G8M首年70–点击购买 青龙面板安装教程 傻妞机器人安装教程 XDD安装教程 QQ交流:10 ...

  3. 五丶阿东安装部署教程+青龙对接阿东及傻妞实现自动登录

    阿东安装部署教程+青龙对接阿东及傻妞实现自动登录 没有服务器的先自行购买,这里推荐腾讯云2H4G8M首年70–点击购买 青龙面板安装 傻妞安装教程--+命令 QQ交流:1014549449 ----- ...

  4. 一丶宝塔+青龙面板安装部署教程及命令-依赖库

    一丶宝塔+青龙面板安装部署教程及命令-依赖库 QQ交流群:1014549449 直达 - 没有服务器的先自行购买,这里推荐腾讯云2H4G首年70 点击购买 建议装centos7.6安装宝塔,后期调试及 ...

  5. Wix 安装部署教程(十四) -- 多语言安装包之用户许可协议

    Wix 安装部署教程(十四) -- 多语言安装包之用户许可协议 原文:Wix 安装部署教程(十四) -- 多语言安装包之用户许可协议 在上一篇中,留下了许可协议的问题,目前已经解决.感谢网友武全的指点 ...

  6. Hyperledger Fabric 1.4 Kafka集群部署教程

    Hyperledger Fabric 1.4 Kafka集群部署教程 作者:区块链教程 时间:2019/12/08 10:36 标签:Docker ComposeDockerYMLHyperledge ...

  7. Wix 安装部署教程(十六) -- 自动生成多语言文件

    Wix 安装部署教程(十六) -- 自动生成多语言文件 原文:Wix 安装部署教程(十六) -- 自动生成多语言文件 因为持续集成需要,所有项目编译完之后生成一个多语言的安装包.之前生成mst文件都是 ...

  8. 【gitlab】gitlab快速部署教程

    gitlab快速部署教程 部署环境 Ubuntu 16.04(亲测可用) 开始部署 安装依赖 sudo apt-get install curl openssh-server ca-certifica ...

  9. Wix 安装部署教程(十二) -- 自动更新WXS文件

    原文:Wix 安装部署教程(十二) -- 自动更新WXS文件 上一篇分享了一个QuickWIX,用来对比两个工程前后的差异,但是这样还是很繁琐,而且昨天发现有Bug,目录对比有问题.这次改变做法,完全 ...

最新文章

  1. 远程接入构建企业信息的计划时代--极通EWEBS
  2. CodeSign error: code signing is required for product type Application in SDK iOS XXX的解决办法
  3. 以太网的MAC帧(二)
  4. 关于通过Sql注入直接拖数据的讨论
  5. c#数据库訪问返回值类型为SqlDataReader时使用using时注意的问题
  6. [react] 在react中遍历的方法有哪些?它们有什么区别呢?
  7. Linux Shell 操作命令 ls
  8. 【机器学习笔记之六】Bagging 简述
  9. 【SHOI2002】【Luogu1434】滑雪(记忆化)
  10. 如何选择深度学习框架 TensorFlow/Torch/Mxnet/Theano
  11. Android Studio 主题、字体大小的设置
  12. vs为什么打了断点不断_2019年丹麦羽毛球公开赛焦点对阵:林丹VS塞帕拉内斯 石宇奇 VS 马克卡尔尤B...
  13. 互联网晚报 | 12月9日 星期四 | 微博正式登陆港交所;OPPO官宣首款自研芯片即将发布;腾讯启动“技术公益创投计划”...
  14. APP 分析 随手记
  15. 加拿大计算机硕士gpa不够,申请加拿大硕士课程有GPA不足的硬伤怎么办?
  16. 认知科学和认知神经科学_设计师认知科学阅读清单
  17. 指令于动作之forward动作
  18. rabbit-1简介
  19. 计算机控制直流电机闭环调速实验报告,PID控制电机实验报告
  20. 支付宝异步通知(notify_url)与return_url.

热门文章

  1. 新人主播直播人气热度底,往往是忽略了这几点。
  2. HTTP浏览器输入URL后发生了什么
  3. 全国DNS服务器地址备忘录
  4. 笔记本加装SSD重装系统win10引导始终指向原系统的问题终极解决方法
  5. 华为手机adb connect连接失败解决方案(转)
  6. 乐行天下激光雷达文件升级及wifi配置(Android系统版本)
  7. 在delphi 获取特殊目录 SHGetSpecialFolderLocation SHGetPathFromIDList
  8. 连英文都不懂怎么学python_在英语完全不懂的情况下如何学编程?
  9. 云重磅 | 阿里巴巴平均每天纳税超1.4亿;谷歌、Face book与AWS将共建美欧新海底电缆;阿里发布谣言粉碎机:1秒辨真伪...
  10. 个体对于吸烟人群的态度