通常情况下,向服务器上传代码、文件,vsftp用的还是比较多的。下面是本人安装配置的过程。 linux系统:centos6.6. 安装步骤 1.通过yum来安装vsftpd
[root@localhost ~]# yum -y install vsftpd2.设置为开机启动
[root@localhost ~]# chkconfig vsftpd on3.把下面几行注释去掉,让其配置生效:
local_enable=YESwrite_enable=YESlocal_umask=022chroot_local_user=YES #这行可能需自己写pam_service_name=vsftpduserlist_enable=YES4.配置保存后重启vsftpd服务:
[root@localhost ~]# service vsftpd restart添加用户及额外配置 1.设置vsftp的帐号。
[root@localhost ~]# useradd -d /home/htdocs -s /sbin/nologin 用户名 2.为添加的账号设置密码
[root@localhost ~]# passwd 用户名根据提示操作这样的话,基本的vsftpd服务配置好了。但是这样配置完成后客户端并不能连接上,主要应该是默认防火墙设置下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问。 1.添加ip_conntrack_ftp 模块
[root@localhost ~]# vi /etc/sysconfig/iptables-config添加下面一行
IPTABLES_MODULES="ip_conntrack_ftp"2.打开21端口
[root@localhost ~]# vi /etc/sysconfig/iptables添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT3.重启iptables使新的规则生效
[root@localhost ~]# service iptables restart到此,应该是可以了,若软件测试连接过程中,在用户验证的时候出现了错误503,应该是selinux设置的问题:可以用下面的命令检查
[root@localhost ~]#getsebool -a |grep ftpallow_ftpd_anon_write --> offallow_ftpd_full_access --> offallow_ftpd_use_cifs --> offallow_ftpd_use_nfs --> offallow_tftp_anon_write --> offftp_home_dir --> offftpd_connect_db --> offftpd_disable_trans --> offftpd_is_daemon --> onhttpd_enable_ftp_server --> off这是selinux的问题,我们只要打开ftp_home_dir的值开启为on:,allow_ftpd_full_access也一同开启即可。
[root@localhost ~]#setsebool -P ftp_home_dir 1[root@localhost ~]#setsebool -P allow_ftpd_full_access 1到此,应该解决问题了。
原文点击打开链接
执行该命令后,如果出现这样的错误提示: useradd: warning: the home directory already exists. Not copying any file from skel directory into it. 这说明用户的目录已经存在(/var/www,这个可以是任何你设定的目录),不可再新建此目录,并非添加用户失败,可以忽略。
特别提醒:用useradd建立的用户,如果后面不加–s /sbin/nologin参数,建立的用户为普通系统用户,有系统登陆centos服务器的权限,在虚拟主机环境下,这非常危险。所以要在useradd命令后面加上参数–s /sbin/nologin,为centos 服务器虚拟主机添加不可以登录系统的ftp专用账号(虚拟账户)
新闻热点
疑难解答