edwardcmh

人氣不過肥皂泡

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1. 检查vsftpd是否已安装

rpm -qa|grep vsftpd
yum list|grep vsftpd	#使用yum列出

2. 若没有安装vsftpd,则使用yum来安装

yum install vsftpd

3. 启动vsftpd服务,终端输入

/etc/init.d/vsftpd start
service vsftpd start	#使用service启动

4. 设置vsftpd随系统启动,终端输入

chkconfig vsftpd on

5. 配置vsftpd,vsftpd默认允许匿名用户登录,匿名用户主目录在/var/ftp,首先禁止匿名用户登录,使用vi修改/etc/vsftpd/vsftpd.conf文件:

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
#anonymous_enable=YES
anonymous_enable=NO

6. vsftpd默认允许用户离开自己的主目录,为了安全需要关闭此选项,编辑/etc/vsftpd/vsftpd.conf文件:

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

反注释chroot_local_user=YES这行就可以将所有用户锁定在自己的主目录里,如果注释这行,就需要使用chroot_list_enable=YES和chroot_list_file=/etc/vsftpd/chroot_list来指定用户的主目录(新建/etc/vsftpd/chroot_list文件)

7. 添加本地用户,用于登录vsftpd,终端输入:

useradd -g ftp -d /var/ftp/test -s /sbin/nologin test	#-g选项将用户添加到ftp组,-d选项指定用户主目录,-s选项指定用户登录shell,这里为了安全禁止test用户登录

修改test用户密码:

passwd test	#修改密码

8. 重新启动vsftpd服务

service vsftpd restart

到这里就可以使用test用户登录ftp了,test用户的所有文件存放在/var/ftp/test下

需要注意:

1. selinux是否启用

添加本地用户后登录ftp提示下列错误:

500 OOPS: cannot change directory:/var/ftp/test
500 OOPS: child died

解决方法:终端输入下列命令禁止selinux对vsftpd的限制,完成后重启vsftpd服务

setsebool -P ftpd_disable_trans 1
service vsftpd restart

另一种方法就是禁用selinux

2. vsftpd用户分类

vsftpd用户类型分为三种:匿名用户,本地用户和虚拟用户。

三种用户在vsftpd.conf中的配置可以参考这里这里,在此对作者表示感谢。

posted on 2012-04-20 17:05  edwardcmh  阅读(1221)  评论(0编辑  收藏  举报