CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器


(2014-01-09 21:29:31)

[题记]本文使用CentOS 6.5minimal快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器。意在使用授权FTP用户通过登陆指定的服务器文件夹来上传、下载、修改、更新、删除位于/var/www/html目录内的网站文件。同时又保持SeLinux和iptables防火墙的工作状态,使其得以安全有效的运行。

第一步 启动CentOS6.5
假设你已经安装好了CentOS,虚拟机中或实体服务器。

第二步 登陆系统
# yum install httpd vsftpd mysql mysql-server php php-mysql
为了自己能掌握,所以采取了默认输入y确认安装的方法。

第三步 确认安装列表
# y
回车确认

第四步 设置开机启动
# chkconfig httpd on
配置HTTP服务开机启动。
# chkconfig vsftpd on
配置FTP服务开机启动。
# chkconfig mysqld on
配置MySQL服务开机启动。

第五步 检查服务配置状态
# chkconfig
2、3、4、5启动。

第六步 启动服务
# service httpd start
启动HTTP服务。
# service vsftpd start
启动FTP服务。
# service mysqld start
启动MySQL服务。

第七步配置FTP用户、用户组及相应权限
# groupadd webftp
添加webftp用户组,用来承载我们的FTP授权用户。
# useradd -g webftp -M -d /var/www -s /sbin/nologin wwwer
使用-g参数将它归集到webftp用户组下,-M参数不设置它的主目录(没有-M参数/home里会有个wwwer文件夹,这个文件夹没多少实际用处,所以不用设置),-d参数设定它的初始登入目录为/var/www,-s参数设定它不需要登陆系统/sbin/nologin,它被命名为wwwer(之所以这样命名,也就是根据初始登入目录来设置的,下同,登陆到www目录有一个好处是它可以直接FTP进去修改诸如404一类的页面,而不用其他过程来配置)。
# useradd -g webftp -M -d /var/www/html -s /sbin/nologinhtmler
同样的方法在webftp用户组继续添加用户htmler,它也不设置主目录,也不需要登陆系统,设定它的初始登入目录为/var/www/html。
# passwd wwwer
为wwwer添加密码,两次输入。
# passwd htmler
为htmler添加密码,两次输入。
# chown -R wwwer.webftp /var/www
更改/var/www目录及其下所有文件和文件夹(-R)的所有者为webftp用户组下的wwwer用户。
# chown -R htmler.webftp /var/www/html
同样将/var/www/html目录及其下所有文件和文件夹chown给html。

第八步 不启用匿名用户
# vi /etc/vsftpd/vsftpd.conf
按I键进入编辑模式,找到anonymous_enable=YES,更改YES为NO,然后按ESC键退出编辑,输入“:wq”存盘并退出。

第九步 配置基本安全策略
# getsebool -a | grep ftp
列出所有selinux全部ftp策略。
#setsebool allow_ftpd_full_access on
允许FTP完全访问。
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
插入防火墙规则(CentOS里用-A添加一条规则会处于链表尾,但表尾貌似不起作用,所以用-I插入到链表头),这条规则的意思是所有INPUT到服务器的包,-p如果是tcp协议的,--dport目标端口是80端口的,-j那么就ACCEPT。
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
同样的方法接受所有要到达服务器21端口的tcp包。
# modprobe ip_conntrack_ftp
载入IP连线跟踪模块。记住最后这一步(第九步)的基本安全策略配置在重启后全部失效,你需要重新配置一遍,当然通过修改selinux和iptables的配置文件或serviceiptablessave是可以保持这些策略的。但你应该清晰的认识到一个问题:一个服务器应该总是保持开启状态的,如果服务器重启了,那么只有两种可能,一种是在你的控制之下,一种不在你的控制之下,当服务器重启事件不在你的控制之下时,那么你应该认识到这是很危险的情况,那么刚才那些“放行”的策略应该完全失效而不是继续保持才对。也正因为如此,我想这可能是CentOS这样做的其中一个原因。如果你要添加的规则比较多可以先保存到一个txt文件里,直接cp过来就okay。

效果测试
HTTP、FTP测试均已成功,而且我们添加的wwwer和htmler也拥有了对这些文件的有效权限。如果你的网站程序需要某些777的权限,你也可以直接通过FTP修改的。

祝你好运!

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器的更多相关文章

  1. 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能

    我最近由于在做一个关于FTP文件上传和下载的功能时候,发现Apache FTP jar包没有提供对整个目录结构的上传和下载功能,只能非目录类型的文件进行上传和下载操作,后来我查阅很多网上的实现方法,再 ...

  2. Serv-U无法连接到服务器127.0.0.1,端口43958 FTP服务器不能启动

    端口43958,这是Serv-U的本地管理端口,只允许127.0.0.1连接.    在出现“Serv-U无法连接到服务器127.0.0.1,端口43958”这个错误的时候,一般ftp软件无法自动启动 ...

  3. Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录

    1. 启动VSFTP服务器 A:cenos下运行:yum  install  vsftpd B. 登录Linux主机后,运行命令:”service vsftpd start” C. 要让FTP每次开机 ...

  4. 【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录

    转自:http://blog.csdn.net/cloudday/article/details/8640234   1. 启动VSFTP服务器 A:cenos下运行:yum  install  vs ...

  5. Jenkins+MSbuild+SVN实现快速搭建.net持续集成环境(构建、编辑、部署到服务器)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建.net持续集成环境 Jenkins和SVN安装这里就不介绍了 一.准备工作 1.Jenkins中系统 ...

  6. CentOS 6.7快速搭建lamp环境

    安装前要关闭防火墙,防止外网不能访问,这一点很重要,要不然外网访问不了: ①关闭防火墙:service iptables stop ②永久关闭防火墙:chkconfig iptables off ③查 ...

  7. SQL 数据快速查询优化小技巧(仅供参考)

    .应尽量避免在where子句中使用!=或<>操作符 .应尽量避免在where子句中使用or来连接条件 如: 可以这样查询 Union all .in 和not in 也要慎用,否则会导致全 ...

  8. CentOS 6.5部署HTTP WEB服务器和FTP服务器

    转载自:http://www.server110.com/linux/201403/8613.html [题记]本文使用CentOS 6.5 minimal快速搭建HTTP服务器和仅供授权用户登陆的F ...

  9. CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)

    CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此 ...

  10. FTP服务器的搭建与配置

    主要来源:http://www.cnblogs.com/helonghl/articles/5533857.html 1.安装FTP服务器: yum install vsftpd -y 2.启动FTP ...

随机推荐

  1. 菜单导航tab切换样式的小技巧

    1.最终效果 2.HTML结构 <div class="licaiMenu"> <ul class="navi"> <li> ...

  2. spring重点后置处理器

    1. DefaultListableBeanFactory的作用: 默认实现了ListableBeanFactory和BeanDefinitionRegistry接口,基于bean definitio ...

  3. 2024-03-09:用go语言,我们把无限数量的栈排成一行,按从左到右的次序从 0 开始编号, 每个栈的的最大容量 capacity 都相同。实现一个叫「餐盘」的类 DinnerPlates, Di

    2024-03-09:用go语言,我们把无限数量的栈排成一行,按从左到右的次序从 0 开始编号, 每个栈的的最大容量 capacity 都相同.实现一个叫「餐盘」的类 DinnerPlates, Di ...

  4. Django进阶之路由层和视图层

    Django的路由系统 [1]什么是URL配置(URLconf) URL调度器 | Django 文档 | Django (djangoproject.com) URL配置(URLconf)就像Dja ...

  5. netcore 图片缩略图

    /// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名< ...

  6. nest.sh 脚本 发布服务

    每次发布后端nest 直接执行一个脚本即可 给脚本赋值权限 chomd 777 nest.sh nest.sh 脚本 #!/bin/bash cd /root/gateway-study git pu ...

  7. Java GUI swing 可执行程序 jar (java -jar)idea

    创建项目 可以用maven idea设置 into 那个 参考资料 Java 基础 https://www.liaoxuefeng.com/wiki/1252599548343744/12604545 ...

  8. union all 优化案例

    遇到个子查询嵌套 UNION ALL 的SQL语句很慢,谓词过滤条件不能内推进去,需要优化这段 UNION ALL这块的内容. UNION ALL 慢SQL: SELECT * FROM ((SELE ...

  9. (3)安装完python之后需要安装的Spyder集成开发环境教程

    步骤一: 首先,在网站上下载你所需要的压缩文件,网址为https://files.pythonhosted.org/packages/5e/a0/ab7f29e32479d15663eab9afd1d ...

  10. 更智能的广告素材生成!看A/B测试如何驱动AIGC素材调优

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 前言:AIGC大爆发,引发广告营销行业变革 ChatGPT等AI产品引发的AIGC大爆发引起了各行业的震动,其中以 ...