关于linux中建立ftp服务的一些问题
2015-04-03 18:30
309 查看
今天因为项目需要,要在linux的系统上部署一个ftp服务,本来一个挺简单的事最后却困扰了半天,所以讲部署的过程记录下来,大家引以为鉴。
首先:
先在系统上安装一个虚拟机(我用的VMware10),为了大家使用的方便,虚拟机安装好后,大家再安装一下VMwareTool,这样就可以在虚拟机内外互相复制拷贝文件了。至于具体
的安装步骤,请大家在网上参考,很多的,我就不多赘述了。
其次:
安装好虚拟机后,就要安装linux了,我用的是(red hat6.4),至于具体的安装步骤也请大家参考一下网络的,也挺简单的,无非就是下一步而已。
最后就是ftp的安装部署了
注:在linux安装时是可以初始化安装ftp的,但是本人由于linux早已装好,所以用的是命令行的方法,所以有兴趣的同学可以自行百度。
好了,下面正式安装配置ftp。
1、安装ftp。
如果在安装linux的时候已经安装了ftp,可以不用再安装了,如果没有则通过此方法进行安装。如果你不确定系统是否安装了ftp,可以用一下命令检查。
打开终端(以后所有的命令操作都是在这里执行)。
rpm -qa|grep vsftpd: --查看是否已经安装了ftp(在linux中叫vsftpd),如果有结果则安装了,否则没有。
如果没有安装,则在linux的镜像文件中找到vsftpd的安装包(vsftpd-2.2.2-11.el6.x86_64.rpm),然后将该文件拷贝到linux系统的一个目录下(我的是/rpm/),最后cd到这个
目录,执行以下命令
rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm
在用以上命令检查一下是否安装成功。
另外,卸载vsftpd的命令:
rpm -e vsftpd
2、ftp安装好后,建立一个用户并给其一个主目录:
/usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser --这里是执行adduser命令(注1),ftpuser是新建的ftp用户,其登录的主目录是ftp,ftpuser用户所在的
群组是ftp。
3、给ftpuser用户密码
passwd ftpuser --然后按照提示给予ftpuser账号初始密码。
4、打开 /etc/vsftpd目录下的vsftpd.conf文件
vi /etc/vsftpd/vsftpd.conf
配置:
4.1、将anonymous_enable=YES 改为 anonymous_enable=NO #禁止匿名访问
4.2、将chroot_list_file=/etc/vsftpd/chroot_list的注释去掉(#去掉),并在相应的路径下建立相应的文件chroot_list,并在该文件中加上新建的ftp用户,即ftpuser。
4.3、将防火墙关掉。
service iptables stop --关闭防火墙
service iptables restart --启动防火墙
5、启动ftp服务(注2)
service vsftpd start --启动ftp
service vsftpd status --ftp运行状态
service vsftpd restart --重启ftp
6、连接ftp
浏览器或资源管理器 访问: ftp://192.168.xxx.xxx 输入用户名和密码(注3)
注1:
adduser
用途说明
添加用户,与useradd是同一命令。需要root权限才能执行(有root權限)。
常用参数
-d home_dir 设定使用者的主目录为 home_dir
-p passwd 指定用户的登录密码。RHEL4支持此参数,RHEL5已经去掉这个参数了。
-g group 指定用户所在的群组。
-s shell 设定该用户无法登陆,也就是说你用ftpuser是无法登陆进入系统的,因为他不是普通用户,而是为ftp服务器所使用的用户,所以通常设置为不让其登陆。
注2:
每次配置文件修改后,一定要重起ftp服务。
注3:如果此时仍然访问不到ftp服务,比如我建立的两个用户,一个在home/ftp目录下,一个在opt/ftp目录下。结果是opt目录下的可以访问,home目录下的不能访问,纠结半天
,原来是selinux的原因,将selinux服务关掉即可。
解决的方法如下:
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
注4:
一些参考:
http://bguncle.blog.51cto.com/3184079/957315 http://www.cnblogs.com/hnrainll/archive/2011/02/16/1956538.html http://www.linuxidc.com/Linux/2014-05/101166.htm
首先:
先在系统上安装一个虚拟机(我用的VMware10),为了大家使用的方便,虚拟机安装好后,大家再安装一下VMwareTool,这样就可以在虚拟机内外互相复制拷贝文件了。至于具体
的安装步骤,请大家在网上参考,很多的,我就不多赘述了。
其次:
安装好虚拟机后,就要安装linux了,我用的是(red hat6.4),至于具体的安装步骤也请大家参考一下网络的,也挺简单的,无非就是下一步而已。
最后就是ftp的安装部署了
注:在linux安装时是可以初始化安装ftp的,但是本人由于linux早已装好,所以用的是命令行的方法,所以有兴趣的同学可以自行百度。
好了,下面正式安装配置ftp。
1、安装ftp。
如果在安装linux的时候已经安装了ftp,可以不用再安装了,如果没有则通过此方法进行安装。如果你不确定系统是否安装了ftp,可以用一下命令检查。
打开终端(以后所有的命令操作都是在这里执行)。
rpm -qa|grep vsftpd: --查看是否已经安装了ftp(在linux中叫vsftpd),如果有结果则安装了,否则没有。
如果没有安装,则在linux的镜像文件中找到vsftpd的安装包(vsftpd-2.2.2-11.el6.x86_64.rpm),然后将该文件拷贝到linux系统的一个目录下(我的是/rpm/),最后cd到这个
目录,执行以下命令
rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm
在用以上命令检查一下是否安装成功。
另外,卸载vsftpd的命令:
rpm -e vsftpd
2、ftp安装好后,建立一个用户并给其一个主目录:
/usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser --这里是执行adduser命令(注1),ftpuser是新建的ftp用户,其登录的主目录是ftp,ftpuser用户所在的
群组是ftp。
3、给ftpuser用户密码
passwd ftpuser --然后按照提示给予ftpuser账号初始密码。
4、打开 /etc/vsftpd目录下的vsftpd.conf文件
vi /etc/vsftpd/vsftpd.conf
配置:
4.1、将anonymous_enable=YES 改为 anonymous_enable=NO #禁止匿名访问
4.2、将chroot_list_file=/etc/vsftpd/chroot_list的注释去掉(#去掉),并在相应的路径下建立相应的文件chroot_list,并在该文件中加上新建的ftp用户,即ftpuser。
4.3、将防火墙关掉。
service iptables stop --关闭防火墙
service iptables restart --启动防火墙
5、启动ftp服务(注2)
service vsftpd start --启动ftp
service vsftpd status --ftp运行状态
service vsftpd restart --重启ftp
6、连接ftp
浏览器或资源管理器 访问: ftp://192.168.xxx.xxx 输入用户名和密码(注3)
注1:
adduser
用途说明
添加用户,与useradd是同一命令。需要root权限才能执行(有root權限)。
常用参数
-d home_dir 设定使用者的主目录为 home_dir
-p passwd 指定用户的登录密码。RHEL4支持此参数,RHEL5已经去掉这个参数了。
-g group 指定用户所在的群组。
-s shell 设定该用户无法登陆,也就是说你用ftpuser是无法登陆进入系统的,因为他不是普通用户,而是为ftp服务器所使用的用户,所以通常设置为不让其登陆。
注2:
每次配置文件修改后,一定要重起ftp服务。
注3:如果此时仍然访问不到ftp服务,比如我建立的两个用户,一个在home/ftp目录下,一个在opt/ftp目录下。结果是opt目录下的可以访问,home目录下的不能访问,纠结半天
,原来是selinux的原因,将selinux服务关掉即可。
解决的方法如下:
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
注4:
一些参考:
http://bguncle.blog.51cto.com/3184079/957315 http://www.cnblogs.com/hnrainll/archive/2011/02/16/1956538.html http://www.linuxidc.com/Linux/2014-05/101166.htm
相关文章推荐
- Linux下关于安全的一些小技巧大问题(图文)
- 关于Linux下apache的一些配置问题
- 一些关于linux 下的jni下问题
- 关于windows服务方面的一些问题
- 关于linux下ldd命令之后产生的一些问题
- 关于虚拟机下linux到一些问题到解决方案
- 关于在建立asp.net程序或服务时报错问题
- 一些关于linux 下的jni下问题
- 关于在Mysql服务启动的一些现象及问题和处理过程
- linux下部署服务碰到的一些问题
- 【Oracle】关于Oracle服务启动的一些问题
- 关于linux gdb的一些问题
- 关于FTP 服务的一些解释
- 关于vim的一些使用以及Dos文件到Linux、Mac下问题
- 最近在看一些关于字符集的文章,什么iso8859-1 unicode utf8 gb2312,突然想起在linux终端上显示汉字的问题.
- 一些Linux系统服务调优/问题定位技巧
- 关于ThinkPHP框架在Linux下运行时的一些问题
- 项目q总结:关于Linux性能问题的一些思考
- 关于在linux下编译内核出现的一些问题
- 解决linux ftp的一些问题