1.关闭linux防火墙,(不想关的可以把ftp的21端口加到防火墙规则即可,我为了省事)
#chkconfig --level 35 iptables off
2.关闭selinux:编辑配置文件/etc/selinux/config,改为SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3.重启系统
-----------配置ftp---------------
1.检查系统是否安装过 vsftpd 和ftp:
rpm –q vsftpd
rpm –q ftp
没有安装的话 就用yum来安装
yum install vsftpd
yum install ftp
安装过程中按y,完成后为它创建日志文件:touch /var/log/vsftpd.log
2.启动与配置自启动
使用chkconfig --list来查看vsftpd服务启动项情况;
如果看到的是如下显示的结果:
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
服务全部都是off的,注意这里的off表示的是服务器启动的时候是否会自启动服务,我们使用如下命令来配置其自启动:
chkconfig --level 2345 vsftpd on #2345对应的是上面对应的0-6项
查看与管理ftp服务:
启动ftp服务:service vsftpd start
查看ftp服务状态:service vsftpd status
重启ftp服务:service vsftpd restart
关闭ftp服务:service vsftpd stop
3. 配置vsftp服务
编辑/etc/vsftpd/vsftpd.conf文件,配置vsftp服务:
#vi /etc/vsftpd/vsftpd.conf
3.1 编辑修改如下内容:
anonymous_enable=NO #设定不允许匿名访问
local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
chroot_list_enable=YES #使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log #设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES #允许使用ASCII模式上传
ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能。
pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
guest_enable=YES #设定启用虚拟用户功能。
guest_username=ftp #指定虚拟用户的宿主用户。centos系统自带ftp用户
user_config_dir=/etc/vsftpd/vuser_conf #末尾不要加空格。设定虚拟用户个人vsftp的RHEL/CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)
3.2 创建chroot list,将ftp用户加入其中:
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list
3.3 进行认证:
首先,1.安装db4:
rpm -q db4 db4-utils 查询是否安装过:
[root@localhost user]# rpm -q db4 db4-utils
db4-4.7.25-17.el6.i686
db4-utils-4.7.25-17.el6.i686
我的已经安装过,没有安装的话 还是用yum安装
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
user1
pass1
user2
pass2
接着生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句
再增加以下两句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最后,创建虚拟用户个性CentOS FTP服务文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/user1
内容如下:
local_root=/var/ftp/user1 #虚拟用户的根目录(根据实际修改)
write_enable=YES #可写
anon_umask=022 #掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
4. 为目录附权限并重启动vsftp服务:
mkdir /var/ftp/user1
chmod 777 /var/ftp/user1
service vsftpd restart
然后在地址栏中即可访问你的ftp服务器了。