ProFTPD部署教程

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 server
 3	# and a single anonymous login.  It assumes that you have a user/group
 4	# "nobody" and "ftp" for normal operation and anon.
 5
 6	ServerName	"ProFTPD Default Installation"
                                     客户端连接后显示的字符
 7	ServerType	standalone
                                     服务启动模式
 8	DefaultServer	on
 9
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		权限设置
41	 DenyAll
42	
43
44	# A basic anonymous configuration, no upload directories.  If you do not
45	# want anonymous users, simply delete this entire  section.
46	
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	 	权限设置
63	   DenyAll
64	 
65	

匿名共享路径相关设置(包括权限设置) #

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	standalone
 8	DefaultServer	on
 9  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	#	该部分全部#注释,取消匿名访问功能
47	#  User	ftp
48	#  Group	ftp
51	#  UserAlias	anonymous ftp
54	#  MaxClients	10
58	#  DisplayLogin	welcome.msg
59	#  DisplayChdir	.message
62	#  
63	#    DenyAll
64	#  
65	#

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


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

100
101 DenyAll
102
103
104 AllowUser xingzheng
105
106
107
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

你可能感兴趣的:(Linux)