Linux下使用vsftpd搭建ftp

查看是否安装vsftp

1
2
3
rpm -qa | grep vsftpd
# 若未安装,安装
yum -y install vsftpd

启动vsftpd服务

1
service vsftpd start

若无法启动,查看21端口是否被其他进程占用。若被占用,杀掉。

1
netstat -ntulp |grep 21

kill PID号

配置vsftpd

查看vsftpd位置

1
2
# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

默认配置文件: /etc/vsftpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#     下面是配置的选项及说明
 ######### 核心设置 ###########
 # 允许本地用户登录
local_enable=YES
 # 本地用户的写权限
write_enable=YES
 # 使用FTP的本地文件权限,默认为077
# 一般设置为022
local_umask=022
 # 切换目录时
# 是否显示目录下.message的内容
dirmessage_enable=YES
dirlist_enable = NO
 #验证方式
#pam_service_name=vsftpd
 # 启用FTP数据端口的数据连接
connect_from_port_20=YES
 # 以独立的FTP服务运行
listen=yes
 # 修改连接端口
#listen_port=2121
 ######### 匿名登录设置 ###########
 # 允许匿名登录
anonymous_enable=NO
 # 如果允许匿名登录
# 是否开启匿名上传权限
#anon_upload_enable=YES
 # 如果允许匿名登录
# 是否允许匿名建立文件夹并在文件夹内上传文件
#anon_mkdir_write_enable=YES
 # 如果允许匿名登录
# 匿名帐号可以有删除的权限
#anon_other_write_enable=yes
 # 如果允许匿名登录
# 匿名的下载权限
# 匿名为Other,可设置目录/文件属性控制
#anon_world_readable_only=no
 # 如果允许匿名登录
# 限制匿名用户传输速率,单位bite
#anon_max_rate=30000
 ######### 用户限制设置 ###########
#### 限制登录
 # 用userlist来限制用户访问
#userlist_enable=yes
 # 名单中的人不允许访问
#userlist_deny=no
 # 限制名单文件放置的路径
#userlist_file=/etc/vsftpd/userlist_deny.chroot
 #### 限制目录
 # 限制所有用户都在家目录
#chroot_local_user=yes
# 调用限制在家目录的用户名单
chroot_list_enable=YES
# 限制在家目录的用户名单所在路径
chroot_list_file=/etc/vsftpd/chroot_list
 ######### 日志设置 ###########
 # 日志文件路径设置
xferlog_file=/var/log/vsftpd.log
 # 激活上传/下载的日志
xferlog_enable=YES
 # 使用标准的日志格式
#xferlog_std_format=YES
######### 安全设置 ###########
 # 用户空闲超时,单位秒
#idle_session_timeout=600
 # 数据连接空闲超时,单位秒
#data_connection_timeout=120
 # 将客户端空闲1分钟后断开
#accept_timeout=60
 # 中断1分钟后重新连接
#connect_timeout=60
 # 本地用户传输速率,单位bite
#local_max_rate=50000
 # FTP的最大连接数
#max_clients=200
 # 每IP的最大连接数
#max_per_ip=5
######### 被动模式设置 ###########
# 是否开户被动模式
pasv_enable=yes
 # 被动模式最小端口
pasv_min_port=5000
 # 被动模式最大端口
pasv_max_port=6000
######### 其他设置 ###########
 # 欢迎信息
ftpd_banner=Welcome to Ftp Server!

添加ftp防火墙规则

1
2
3
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

添加用户

1
useradd -d /home/ftp -s /sbin/nologin ftpuser

PS

不能用root用户登录,因为/etc/vsftpd/ftpusers ,/etc/vsftpd/user_list 两个列表中有root的名字,如需要用root的名字登录,请注释掉。(一般不建议这样做因为vsftpd密码是以明文方式传输的)

文章目录
  1. 1. 查看是否安装vsftp
  2. 2. 启动vsftpd服务
  3. 3. 配置vsftpd
  4. 4. 默认配置文件: /etc/vsftpd.conf
  5. 5. 添加ftp防火墙规则
  6. 6. 添加用户
    1. 6.1. PS
|