CentOS 6.3下vsftpd的简单使用教程
时间:2016-05-07 21:43 来源:linux.it.net.cn 作者:IT
CentOS 6.3下vsftpd的简单使用教程
1、关于vsftpd的基本知识
(1)什么是vsftpd?参考百度百科,http://baike.baidu.com/view/1806035.htm
(2)FTP用户的3种身份:实体用户(real user)、访客(guest)和匿名登录者(anonymous)
a. 实体用户(real user):一般是Linux系统上的用户,也是FTP用户,登录FTP需要密码
b. 访客(guest):不是Linux系统的用户,而是FTP用户,登录FTP需要密码
c. 匿名登录者(anonymous):不是Linux系统的用户,而是FTP用户,登录FTP不需要密码
2. 安装vsftpd
-
[root@localhost ~]# yum install vsftpd
3、启动vsftpd服务
-
[root@localhost ~]# service vsftpd start
-
Starting vsftpd for vsftpd: [ OK ]
-
[root@localhost ~]# service vsftpd status
-
vsftpd (pid 30196) is running...
在Chrome中打开ftp://主机IP,该网络地址默认指向的是/var/ftp目录,如下
4、vsftpd的软件组织
/etc/vsftpd/vsftpd.conf
主配置文件
/usr/sbin/vsftpd
vsftpd的可执行文件
/etc/rc.d/init.d/vsftpd
启动脚本
/etc/pam.d/vsftpd
PAM认证文件
/etc/vsftpd/ftpusers
禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list
禁止或允许使用vsftpd的用户列表
/var/ftp
匿名用户主目录
/var/ftp/pub
匿名用户的下载目录
5、分析和修改/etc/vsftpd/vsftpd.conf文件
(1)先备份vsftpd.conf文件
-
[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
(2)查看vsftpd的版本和vsftpd.conf文件的配置说明
-
[root@localhost ~]# vsftpd -v
-
vsftpd: version 2.2.2
-
[root@localhost ~]# man vsftpd.conf
(3)默认vsftpd.conf文件的配置(删除了多余的注释)
-
[root@localhost ~]# cat -n /etc/vsftpd/vsftpd.conf
-
1 anonymous_enable=YES
-
2 local_enable=YES
-
3 write_enable=YES
-
4 local_umask=022
-
5 dirmessage_enable=YES
-
6 xferlog_enable=YES
-
7 connect_from_port_20=YES
-
8 xferlog_std_format=YES
-
9 listen=YES
-
10 pam_service_name=vsftpd
-
11 userlist_enable=YES
-
12 tcp_wrappers=YES
-
[root@localhost ~]#
以上默认配置实现如下的功能:
a. 可以使用anonymous这个匿名账号或其他实体账号(/etc/passwd)登录
b. anonymous的默认目录在/var/ftp,且无上传权限,也已经被chroot了
c. 实体用户的默认目录参考/etc/passwd,并没有被chroot,可前往任何有权限即可进入的目录中
d. 任何于/etc/vsftpd/ftpusers内存在的账号均无法使用vsftpd
e. 可利用/etc/host.{allow|deny}来作为基础防火墙
f. 当客户端有任何上传/下载信息时,该信息会被记录到/var/log/vsftpd.log中
g. 主动式连接的端口为20
h. 使用格林威治时间(GMT)
(参考鸟哥的私房菜^_^)
(4)我的个人修改(在默认的基础上),如下
-
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
-
-
# The default settings created by vsftpd
-
anonymous_enable=YES
-
local_enable=YES
-
write_enable=YES
-
local_umask=002
-
dirmessage_enable=YES
-
xferlog_enable=YES
-
connect_from_port_20=YES
-
xferlog_std_format=YES
-
listen=YES
-
pam_service_name=vsftpd
-
userlist_enable=YES
-
tcp_wrappers=YES
-
-
# ---Added by wesley---
-
-
# Use local time
-
use_localtime=YES
-
-
# Welcome information
-
banner_file=/etc/vsftpd/welcome.txt
-
-
# Enable chroot and locate chroot_list file
-
chroot_list_enable=YES
-
chroot_list_file=/etc/vsftpd/chroot_list
-
-
# Make all real users chroot and let users in chroot_list not be chroot
-
# If comment the line, the users in chroot_list will be chroot (It's tricky!)
-
chroot_local_user=YES
-
-
# Defeine maximum clients to use ftp
-
max_clients=10
-
-
# Define maximum connections per ip address
-
max_per_ip=5
-
-
# Relocate real users' ftp homes to specific folders
-
# By default, real users' ftp homes is /home/<username>
-
user_config_dir=/etc/vsftpd/userhomes
-
-
# ---End---
(a)use_localtime=YES:使用本地时间。
(b)chroot_list_enable=YES:启用chroot,用户登录将锁定其ftp主目录,不能切换到其他目录。
(c)chroot_list_file=/etc/vsftpd/chroot_list:当只有chroot_local_user=NO(或者没有这一行时),在chroot_list文件(需要手动创建)中的用户,是被chroot的,用户登录将锁定其ftp主目录;而chroot_local_user=YES,在chroot_list文件中的用户,是不被chroot的,用户登录后可以任意切换目录。
(d)chroot_local_user=YES:YES或NO时,触发chroot_list中的用户允许或不允许chroot。
(e)max_clients=10:限制FTP连接数最大为10
(f)max_per_ip=5:限制每个IP最多使用5个FTP连接
(g)user_config_dir=/etc/vsftpd/userhomes,自定义一个用户配置目录,该目录存放每个实体用户(real user)的用户名命名的文件,例如/etc/vsftpd/userhomes目录下创建一个test文件,当然test用户是存在的,在test文件中写入一行local_root=/var/ftp/pub,那么test用户登录FTP时,ftp主目录自动定位到/var/ftp/pub,而不是原来的/home/test。
(h)local_umask=002:当FTP用户创建文件或文件夹时,要用到该umask值。这里比默认的配置,增加了组用户写权限。
参考资料:
1、http://blog.csdn.net/kofterry/article/details/4277267
2、http://os.51cto.com/art/201004/192447.htm
3、http://tanjunjie.blog.51cto.com/6988/774256
4、http://desert3.iteye.com/blog/1685734
5、http://www.cnblogs.com/redhatlinux/archive/2012/04/18/2455737.html
6、http://crazyidea.iteye.com/blog/1207952
7、http://book.51cto.com/art/201005/199774.htm
8、《鸟哥的Linux私房菜:服务器架设篇(第二版)》,P631
(责任编辑:IT)
CentOS 6.3下vsftpd的简单使用教程
1、关于vsftpd的基本知识 (1)什么是vsftpd?参考百度百科,http://baike.baidu.com/view/1806035.htm (2)FTP用户的3种身份:实体用户(real user)、访客(guest)和匿名登录者(anonymous) a. 实体用户(real user):一般是Linux系统上的用户,也是FTP用户,登录FTP需要密码 b. 访客(guest):不是Linux系统的用户,而是FTP用户,登录FTP需要密码 c. 匿名登录者(anonymous):不是Linux系统的用户,而是FTP用户,登录FTP不需要密码
2. 安装vsftpd
3、启动vsftpd服务
在Chrome中打开ftp://主机IP,该网络地址默认指向的是/var/ftp目录,如下
4、vsftpd的软件组织
5、分析和修改/etc/vsftpd/vsftpd.conf文件 (1)先备份vsftpd.conf文件
(2)查看vsftpd的版本和vsftpd.conf文件的配置说明
(3)默认vsftpd.conf文件的配置(删除了多余的注释)
以上默认配置实现如下的功能: a. 可以使用anonymous这个匿名账号或其他实体账号(/etc/passwd)登录 b. anonymous的默认目录在/var/ftp,且无上传权限,也已经被chroot了 c. 实体用户的默认目录参考/etc/passwd,并没有被chroot,可前往任何有权限即可进入的目录中 d. 任何于/etc/vsftpd/ftpusers内存在的账号均无法使用vsftpd e. 可利用/etc/host.{allow|deny}来作为基础防火墙 f. 当客户端有任何上传/下载信息时,该信息会被记录到/var/log/vsftpd.log中 g. 主动式连接的端口为20 h. 使用格林威治时间(GMT) (参考鸟哥的私房菜^_^)
(4)我的个人修改(在默认的基础上),如下
(a)use_localtime=YES:使用本地时间。 (b)chroot_list_enable=YES:启用chroot,用户登录将锁定其ftp主目录,不能切换到其他目录。 (c)chroot_list_file=/etc/vsftpd/chroot_list:当只有chroot_local_user=NO(或者没有这一行时),在chroot_list文件(需要手动创建)中的用户,是被chroot的,用户登录将锁定其ftp主目录;而chroot_local_user=YES,在chroot_list文件中的用户,是不被chroot的,用户登录后可以任意切换目录。 (d)chroot_local_user=YES:YES或NO时,触发chroot_list中的用户允许或不允许chroot。 (e)max_clients=10:限制FTP连接数最大为10 (f)max_per_ip=5:限制每个IP最多使用5个FTP连接 (g)user_config_dir=/etc/vsftpd/userhomes,自定义一个用户配置目录,该目录存放每个实体用户(real user)的用户名命名的文件,例如/etc/vsftpd/userhomes目录下创建一个test文件,当然test用户是存在的,在test文件中写入一行local_root=/var/ftp/pub,那么test用户登录FTP时,ftp主目录自动定位到/var/ftp/pub,而不是原来的/home/test。 (h)local_umask=002:当FTP用户创建文件或文件夹时,要用到该umask值。这里比默认的配置,增加了组用户写权限。
参考资料: 1、http://blog.csdn.net/kofterry/article/details/4277267 2、http://os.51cto.com/art/201004/192447.htm 3、http://tanjunjie.blog.51cto.com/6988/774256 4、http://desert3.iteye.com/blog/1685734 5、http://www.cnblogs.com/redhatlinux/archive/2012/04/18/2455737.html 6、http://crazyidea.iteye.com/blog/1207952 7、http://book.51cto.com/art/201005/199774.htm 8、《鸟哥的Linux私房菜:服务器架设篇(第二版)》,P631 (责任编辑:IT) |