Centos 5.x下配置虚拟主机的FTP
最近很多客户咨询如何把Centos美国独立主机成虚拟主机对外提供主机服务。其中很重要的一个环节就是ftp的。下面将其步骤与大家分享 如下:
适应环境:Centos 5.1 5.2 5.3 5.4
首先查看有没有安装vsftpd软件包
运行命令
rpm -qa | grep vsftpd
然后通过yum安装vsftpd,一般云志互联提供的美国独立主机已经默认安装了vsftpd,可以省略此步骤。
运行命令
yum install vsftpd
centos会自动下载安装。
安装完毕后,设置开机自动运行。
service vsftpd start
chkconfig vsftpd on
此时可以通过 netstat -tl查看是否在监听21端口。
接着就可以添加ftp虚拟帐号:
特别提醒:用useradd建立的,如果后面不加–s /sbin/nologin参数,建立的为普通系统用户,有系统登陆centos服务器的权限,在虚拟主机环境下,这非常危险。所以要在 useradd命令后面加上参数–s /sbin/nologin,为centos 服务器虚拟主机添加不可以登录系统的ftp专用账号,命令如下:
# useradd –s /sbin/nologin –d /var/www -g ftp gpu
说明:
-s /sbin/nologin是让其不能登陆系统
-d 是指定用户目录为/var/www ,这里可以替换成任何你需要的目录。
-g ftp 把用户加入到ftp组中
gpu是ftp用户名,在配置时把这个gpu换成你的ftp用户名。
执行该命令后,如果出现这样的错误提示:
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
这说明用户的目录已经存在(/var/www,这个可以是任何你设定的目录),不可再新建此目录,并非添加用户失败,可以忽略。
下面就为这个新添加的用户创建 ftp密码
# passwd gpu
接下来修改/var/www目录属性:(或任何自己定义的目录)
$ chmod -R 777 /var/www 递归地给此目录下所有文件和子目录的读、写、执行权限
$ chgrp -R ftp /var/www 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
然后配置 vsftpd 的配置文件
vi /etc/vsftpd/vsftpd.conf
基本可以保持默认的参数不变,只有2个地方需要修改为如下:
anonymous_enable=NO
chroot_local_user=YES
最后重启 vsftpd服务
#service vsftpd restart
- 最新评论