Centos6.9安装vsftpd并配置多用户的方法
本文介绍了Centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下:
一、安装vsftpd
1
2
3
4
5
6
7
8
|
#安装vsftpd yum -y install vsftpd #设置开机启动 chkconfig vsftpd on #查看服务状态 service vsftpd status #默认是关闭的,如下 # vsftpd is stopped |
二、修改系统保留FTP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#添加组 groupadd -g 1002 vsftpd #创建用户组目录 mkdir -p /home/vsftpd #添加用户 useradd -c "FTP User" -d /home/vsftpd/vsftpd -g vsftpd -s /sbin/nologin -u 1002 vsftpd useradd -c "FTP User" -d /home/vsftpd/test -g vsftpd -s /sbin/nologin test #设置密码(格式:passswd 用户名),输入密码回车,再次输入密码回车 passwd vsftpd #创建指定访问目录 mkdir -p /data/vsftpd #更改权限 chown vsftpd:vsftpd /data/vsftpd chmod -R 775 /data/vsftpd |
可以查看添加进来的新用户
1
2
3
4
|
cat /etc/passwd #如下 # vsftpd:x:1002:1002:FTP User:/home/vsftpd/vsftpd:/sbin/nologin # test:x:1003:1002:FTP User:/home/vsftpd/test:/sbin/nologin |
说下/bin/false跟/sbin/nologin的区别
1、/bin/false什么也不做只是返回一个错误状态,然后立即退出。将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示。
2、/sbin/nologin会礼貌的向用户显示一条信息,并拒绝用户登录:This account is currently not available.
3、有一些软件,比如一些ftp服务器软件,对于本地非虚拟账户,只有用户有有效的shell才能使用ftp服务。这时候就可以使用/sbin/nologin使用户即不能登录系统,还能使用一些系统服务,比如ftp服务。/bin/false则不行,这是二者的重要区别之一
三、修改配置文件
1
2
3
4
5
6
|
#备份原文件 mv /etc/vsftpd/vsftpd .conf /etc/vsftpd/vsftpd .conf.txt #生成新的配置文件 touch /etc/vsftpd/vsftpd .conf #编辑配置文件 vim /etc/vsftpd/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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
# Example config file /etc/vsftpd/vsftpd.conf # # 如果vsftpd处于独立模式,则这是它将侦听传入FTP连接的端口。 listen_port=21 # # 登入目录 local_root=/data/vsftpd # # 是否允许匿名用户登录 anonymous_enable=NO # # 设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问 local_enable=YES # # 设定允许进行写操作(上传、删除),默认为YES write_enable=YES # # 是否使用本地时间 #use_localtime=YES # # 此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了FTP服务器最大的并发连接数,当超过此连接数时,服务器拒绝客户端连接。默认值:0(无限制)。 #max_clients=5 # # 此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将影响到象网际快车这类的多进程下载软件。默认值为0,表示不限制。 #max_per_ip=3 # # 掩饰码 local_umask=002 # # 是否允许匿名FTP用户上传文件。 #anon_upload_enable=NO # # 是否允许匿名FTP用户能够创建新目录 #anon_mkdir_write_enable=NO # # 激活目录消息 - 当远程用户进入某个目录时发送的消息。 dirmessage_enable=YES # # 设置为yes时,用户上传和下载文件都会被记录下来,记录文件位置与xferlog_file=/var/log/vsftpd/xferlog xferlog_enable=YES # # 在vsftpd_log_file和xferlog_file文件之间切换登录文件信息,NO 写入 vsftpd_log_file, YES 写入 xferlog_file xferlog_std_format=YES # # 设置另外一个vsftpd的日记文件,也可以不设置 dual_log_enable=YES xferlog_file=/var/log/vsftpd/xferlog # # 设置日志目录 vsftpd_log_file=/var/log/vsftpd/vsftpd.log # # 端口样式连接始发的端口(只要名称不正确的 connect_from_port_20 启用),默认值:20 connect_from_port_20=YES # # 是否修改匿名用户所上传文件的所有权。YES,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。此选项默认值为NO。 #chown_uploads=YES # # 指定拥有匿名用户上传文件所有权的用户 #chown_username=whoever # # 远程客户端建立与PASV样式数据连接的连接的超时(以秒为单位),默认值:60。 #accept_timeout=60 # # 远程客户端响应我们的端口样式数据连接的超时时间(秒)。默认值:60。 #connect_timeout=60 # # 远程客户端可能在FTP命令之间花费的最长时间(以秒为单位)。如果超时触发,远程客户端将被启动。默认值:300 #idle_session_timeout=300 # # 超时时间(以秒为单位),大概是允许数据传输停止而无进度的最大时间。如果超时触发,远程客户端将被启动。默认值:300 #data_connection_timeout=300 # # 创建上传文件的权限。Umasks应用于此值的顶部。如果要上传的文件可执行,您可能希望更改为0777。默认值:0666 #file_open_mode=002 # # 本地认证用户允许的最大数据传输速率(以字节为单位)。默认值:0(无限制) #local_max_rate=0 # # 建议您在系统上定义一个唯一的用户,ftp服务器可以用作完全独立且无特权的用户。 #nopriv_user=ftpsecure # # 是否启动异步传输功能 #async_abor_enable=YES # # 是否启用ASCII功能 ascii_upload_enable=YES ascii_download_enable=YES # # 自定义登录显示的字符串 #ftpd_banner=Welcome to blah FTP service. # # 指定某个纯文本作为用户登录时显示的欢迎字眼,也可以放置一些让用户知道本FTP服务器的目录架构 #banner_file=/etc/vsftpd/welcome.txt # # 您可以指定一个不允许的匿名电子邮件地址的文件。 显然有助于打击某些DoS攻击。 #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # 锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。 # 当chroot_local_user=YES,chroot_list_enable=YES时,chroot_list_file目录里面的用户不被chroot在主目录中。 # 当chroot_local_user=YES,chroot_list_enable=NO时,chroot_list_file目录里面的用户全部给被chroot在主目录中 chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list # # 此选项默认值为NO , 此时ftpusers 文件中的用户禁止登录FTP 服务器;若此项设为YES ,则 user_list 文件中的用户允许登录 FTP 服务器,而如果同时设置了 userlist_deny=YES ,则 user_list 文件中的用户将不允许登录FTP 服务器,甚至连输入密码提示信息都没有,直接被FTP服务器拒绝 userlist_enable=YES # # 此项默认为YES ,设置是否阻扯user_list 文件中的用户登录FTP 服务器,设置为NO时只允许user_list 当中的用户使用ftp,对于后新建的用户起到屏蔽作用,如果想要使用ftp则必须加入这个列表文件中 userlist_deny=NO # # 当userlist_enable=YES,当userlist_deny=YES,这里面的用户不能登录,当userlist_deny=NO时,只有这里面的用户才能登录ftp 。 userlist_file=/etc/vsftpd/user_list # # 当启用“listen”指令时,vsftpd以独立模式运行,并在IPv4套接字上侦听。 该指令不能与listen_ipv6指令一起使用。 listen=YES # # 此指令允许侦听IPv6套接字。 要监听IPv4和IPv6套接字,您必须运行两个vsftpd副本和两个配置文件。请确保其中一个listen选项被注释! #listen_ipv6=YES # # 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,即/etc/pam.d/vsftpd 文件 pam_service_name=vsftpd # # 是否开启用虚拟用户功能 #guest_enable=YES # # 指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了 #guest_username=ftp # # 匿名客户端允许的最大数据传输速率(以字节为单位)。默认值:0(无限制) #anon_max_rate=0 # # 为匿名用户设置文件创建的umask的值。注意!如果要指定八进制值,请记住“0”前缀,否则该值将被视为基数10整数!默认值:077 #anon_umask=002 # # 设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名) #user_config_dir=/etc/vsftpd/virtual_conf # # 如果要禁止PASV方法获取数据连接,请设置为NO。 pasv_enable=YES # # 设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内 pasv_min_port=20000 pasv_max_port=30000 # # 默认值为NO。为YES时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。 #pasv_promiscuous=YES # # 如果您不想使用PORT方法获取数据连接,则设置为NO。 #port_enable=YES # # 默认值为NO。如果要禁用PORT安全检查,确保传出数据连接只能连接到客户端,请设置为YES。 #port_promiscuous=YES # # 表明服务器使用 tcp_wrappers 作为主机访问控制方式,tcp_wrappers 可以实现linux 系统中网络服务的基于主机地址的访问控制,在/etc 目录中的hosts.allow 和hosts.deny 两个文件用于设置tcp_wrappers 的访问控制,前者设置允许访问记录,后者设置拒绝访问记录。例如想限制某些主机对FTP 服务器12.36.126.141 的匿名访问,编缉/etc/hosts.allow 文件,如在下面增加两行命令:vsftpd:192.168.2.1:DENY 和vsftpd:192.168.2.20:DENY 表明限制IP 为192.168.2.1/192.168.2.20 主机访问IP 为12.36.126.141 的FTP 服务器,此时FTP 服务器虽可以PING 通,但无法连接 tcp_wrappers=YES # |
四、设置FTP用户信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#建立限制用户访问目录的空文件 touch /etc/vsftpd/chroot_list #添加ftp用户进来 vim /etc/vsftpd/user_list #注释掉上面的用户,在后面加上 vsftpd test #创建日志文件 mkdir -p /var/log/vsftpd touch /var/log/vsftpd/xferlog touch /var/log/vsftpd/vsftpd.log |
五、开启防火墙20000到30000端口
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 查看防火墙是否有端口,有就退出编辑,没有就执行下句 vim /etc/sysconfig/iptables #添加端口 iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 20000:30000 -j ACCEPT #保存 /etc/init .d /iptables save #另外需要注意,如果是阿里云的,还需要登录阿里云在安全组里面添加入方向规则 #重启iptables 服务 service iptables restart |
六、重启vsftpd服务
1
2
3
4
5
6
7
8
9
10
11
|
#停止vsftpd 服务 service vsftpd stop #启动vsftpd 服务 service vsftpd start #重启vsftpd 服务 service vsftpd restart 可以查看 ftp 端口是否已经给占用,一般情况下是21端口 netstat -lnp| grep 21 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
原文链接:http://www.jianshu.com/p/7800351e3fa5?utm_source=tuicool&utm_medium=referral
Centos6.9安装vsftpd并配置多用户的方法的更多相关文章
- CentOS6.X安装vsftpd服务
#-----------------CentOS6.X安装VSFTPD服务 #! /bin/sh #1.关闭selinux setenforce 0 sed -i 's/enforcing/disab ...
- Centos6.4安装erlang并配置mysql数据库
在安装时,一定要使用Centos6.4光盘为yum源,否则可能使用了版本有问题的openssl 1.首先要先安装GCC GCC-C++ Openssl等依赖模块: yum -y install mak ...
- centos6.5安装vsftpd
开通FTP有gssftp和vsftpd二种,查了查,据说vsftpd更稳定和更安全.就用vsftpd吧. 什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小 ...
- ftp服务器搭建(离线安装vsftpd),配置
1.下载vsftp:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 2.检查是否已经安装了vsftp rpm -qa ...
- Linux安装vsftpd及配置详解
1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件.[root@bogon ~]# yum -y install vsftpd 2.FT ...
- 06 大数据CentOS6.5mini安装与网络配置
1. CentOS6.5mini安装 文件>>新建虚拟机 选择自定义,下一步 默认,下一步 选择稍后安装操作系统,下一步 选择CentOS版本,下一步 给虚拟机命名,这个是在VMWare中 ...
- centos6.9安装virtualenv并配置python2.7环境
一. 安装python2.7 解压文件 tar -xvf Python-2.7.14.tar 进入源码包目录 cd Python-2.7.14 开始构建之前指定安装的目录 默认会被安装进 /usr/l ...
- 免安装版TOMCAT配置及问题解决方法
前言 本文将介绍下面几点内容: 1.Tomcat的配置过程 2.启动startup过程中遇到的问题的解决 3.假设遇到本文中没有提到的问题怎样解决 配置 计算机右击->属性->高级系统设置 ...
- CentOS 6.4 下安装vsftpd
概述: vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个. 本文介绍了在CentOS 6.4下安装vsftpd.配置虚拟用户登录FTP的过程. 正文: 一:安装vsftp ...
随机推荐
- 学习总结---SNAT和DNAT
1.SNAT是结合源ip+源端口号变化的NAT功能. DNAT是将目的ip直接转换成私有的目的ip.(是否转换目的端口号?) 2.SNAT的应用场景:公司内部访问互联网时,使用公共的公网ip.从内到外 ...
- 【转载】CSS font关键字属性值的简单研究
文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/wordpress/ 原文链接:http://www.zhangxinxu.com/wordpress/?p=5 ...
- hdu5696 区间的价值
区间的价值 我们定义"区间的价值"为一段区间的最大值*最小值. 一个区间左端点在L,右端点在R,那么该区间的长度为(R-L+1). 现在聪明的杰西想要知道,对于长度为k的区间,最大 ...
- Gradle sync failed 异常
今天开发过程中出现如下异常 Gradle sync failed: Connection timed out: connect. If you are behind an HTTP proxy, pl ...
- 找到python官方标准库文档
python中有很多标准库.我们没法记住全部标准库,但是可以在:https://docs.python.org/3/py-modindex.html 中查看标准库的索引 在python的官方文档中,如 ...
- hibernate的集合映射(详细笔记)
- gsoap入门实例
环境VS2008,gsoap_2.8,win7 实例场景:在客户端输入一个字符串,然后传递给服务端计算字符串长度并返回给客户端(附加一些加减乘除法的实现): 将..\gsoap-2.8\gsoap\b ...
- VS2012 C#生成DLL并调用
1.创建一个C#工程生成DLL 新建->项目->Visual C#->类库->MyMethods 项目建好后,为了理解,将项目中的Class1.cs 文件 重命名为 MySwa ...
- Python函数篇:dict函数和列表生成式
1.dict函数语法:dict()dict(**kwarg) dict(mapping, **kwarg) dict(iterable, **kwarg) 第一种:dict()构造一个空字典 h=di ...
- 利用quartz实现定时调度
1.Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.这里我介绍quartz的两种方式.我这里搭建 ...