本篇博客以复制为主,主要是因为搭建ftp服务器的时候,遇到一些问题,然后查阅了各种文章,最终搭建成功,想把所有的问题和步骤放在一起,留着以后查阅方便。
经过简单的考虑,我还是无耻的写成了原创......
1.判断你服务器上是否安装了vsftpd
rpm -q vsftpd // rpm -q 查看你是否安装了这个包,如果有,会显示出该包的版本
2.安装ftp服务器
yum install -y vsftpd //yum install 用来安装软件,加个-y的意思是,自动选择y,如果不加,安装中会提示你选择yes or no.
yum install -y ftp //安装ftp客户端
3.重启服务
service vsftpd restart //service vsftpd restart 是用来重启服务,如果失败,说明服务还没启动,要用命令:service vsftpd start
4.配置/etc/vsftpd/vsftpd.conf
位于/etc下的都是配置文件。我们要配置ftp服务器,才可以正常使用。打开这个文件,会发现很多东西,前面会有#,这是注释的意思,我们的目的是打开。
1)anonymous_enable=NO //禁止匿名登录
2) local_enable=YES //允许本地访问
3)write_enable=YES //允许写,否则无法上传
4) local_umask=022 //上传文件的权限
5)chroot_local_user=YES //是否将所有用户锁定在主目录,YES为启用 NO禁用.(包括注释掉也为禁用)
6)chroot_list_enable=YES //是否启动锁定用户的名单 YES为启用 NO禁用(包括注释掉也为禁用)
7)chroot_list_file=/etc/vsftpd.chroot_list
//禁用的列表名单 格式为一行一个用户, 如果名单里面有一个ftpuser的用户, 则ftpuser用户不会锁定在主目录,用户将可以自由切换目录.
8) dirmessage_enable=YES //用户进入一个目次后,是否给出静态提示。(不知道啥意思,反正默认就是了)
9) xferlog_enable=YES //打开日志记录
10)xferlog_file=/var/log/vsftpd.log #日志存放位置
11) listen=yes //监听/被动模式
12)listen_port=21 //监听端口
5.在/etc/vsftpd/目录下新建文件chroot_list
这个必须有,否则当你远程登录的时候,会提示找不到该文件
该文件为禁用列表的表单,就是每一行都是一个用户名。然后如果里面有的,就可以访问自己家目录以外的目录。如果里面没有的用户,就只能访问自己的家目录了。所有就建个空文件就可以了。
6.修改user_list
将root前面加上一个#注释掉,否则你的root将无法访问ftp服务器。总是该文件里有的,都无法访问。
7.创建ftp用户
我是没创建过,反正我给朋友用的,都会给他们一个可以登录系统的账户,大家都是开发者,不担心......
ueradd -s /sbin/nologin -d /var/www/html xiaosan
8.设置xiaosan账户密码
passwd xiaosan
xiaosan账户新建好了,他可以连接ftp,但无法登录系统.其家目录为/var/www/html
9.修改家目录权限
chmod o+w /var/www/html //否则,你没有权限上传东西
10.修改selinux
修改/etc/sysconfig/selinux文件:
#SELINUX=enforcing
SELINUX=disabled
重启生效,如果不想重启,用命令
[root@mail topic]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@mail topic]# setenforce 0
setenforce: SELinux is disabled
查看Selinux状态:
[root@mail topic]# getenforce
Disabled
12.设置开机启动
设置开机启动有三种方式:setup 、rc.local 和chkconfig
1)setup
直接输入命令:setup就可以了。
2)/etc/rc.d/rc.local
将启动命令放在该文件中,这样就可以每次启动的时候自动启动服务了。
3)chkconfig
使用chkconfig命令来把某项服务加到系统的各项运行级别中。
chkconfig vsftpd on //开机自启动vsftpd服务
/etc/init.d/vsftpd start //开启vsftpd服务