CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
[题记]本文使用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服务器的更多相关文章
- 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能
我最近由于在做一个关于FTP文件上传和下载的功能时候,发现Apache FTP jar包没有提供对整个目录结构的上传和下载功能,只能非目录类型的文件进行上传和下载操作,后来我查阅很多网上的实现方法,再 ...
- Serv-U无法连接到服务器127.0.0.1,端口43958 FTP服务器不能启动
端口43958,这是Serv-U的本地管理端口,只允许127.0.0.1连接. 在出现“Serv-U无法连接到服务器127.0.0.1,端口43958”这个错误的时候,一般ftp软件无法自动启动 ...
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
1. 启动VSFTP服务器 A:cenos下运行:yum install vsftpd B. 登录Linux主机后,运行命令:”service vsftpd start” C. 要让FTP每次开机 ...
- 【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
转自:http://blog.csdn.net/cloudday/article/details/8640234 1. 启动VSFTP服务器 A:cenos下运行:yum install vs ...
- Jenkins+MSbuild+SVN实现快速搭建.net持续集成环境(构建、编辑、部署到服务器)
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建.net持续集成环境 Jenkins和SVN安装这里就不介绍了 一.准备工作 1.Jenkins中系统 ...
- CentOS 6.7快速搭建lamp环境
安装前要关闭防火墙,防止外网不能访问,这一点很重要,要不然外网访问不了: ①关闭防火墙:service iptables stop ②永久关闭防火墙:chkconfig iptables off ③查 ...
- SQL 数据快速查询优化小技巧(仅供参考)
.应尽量避免在where子句中使用!=或<>操作符 .应尽量避免在where子句中使用or来连接条件 如: 可以这样查询 Union all .in 和not in 也要慎用,否则会导致全 ...
- CentOS 6.5部署HTTP WEB服务器和FTP服务器
转载自:http://www.server110.com/linux/201403/8613.html [题记]本文使用CentOS 6.5 minimal快速搭建HTTP服务器和仅供授权用户登陆的F ...
- CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)
CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此 ...
- FTP服务器的搭建与配置
主要来源:http://www.cnblogs.com/helonghl/articles/5533857.html 1.安装FTP服务器: yum install vsftpd -y 2.启动FTP ...
随机推荐
- SpringCloud zookeeper和consul 的介绍和基本搭建
1. Spring Cloud 集成 zookeeper Spring Cloud 集成了 zookeeper ,通过一些简单的注释,就可以快速注册到zookeeper 服务中 并且支持Spring ...
- Java11改进的垃圾回收器
传统的C/C++等编程语言,需要程序员负责回收已经分配的内存.显示进行垃圾回收是一件比较困难的事情,因为程序员并不总是知道内存应该何时被释放.如果一些分配出去的内存得不及时回收,就会引起系统运行速度下 ...
- 基于RocketMQ实现分布式事务
背景 在一个微服务架构的项目中,一个业务操作可能涉及到多个服务,这些服务往往是独立部署,构成一个个独立的系统.这种分布式的系统架构往往面临着分布式事务的问题.为了保证系统数据的一致性,我们需要确保这些 ...
- [好文推荐] vue3 源码分析 mini-vue 写的不错
[阮一峰推荐]学习 vue3 源码的利器 git clone https://github.com/cuixiaorui/mini-vue.git
- STM32进入HardFault_Handler的调试方法
在编写STM32程序代码时由于自己的粗心会发现有时候程序跑着跑着就进入了 HardFault_Handler中断,按照经验来说进入HardFault_Handler故障的原因主要有两个方面: 1:内存 ...
- posix API的一些理解
TCP Posix API的理解 我们主要从TCP连接讲解整个的流程. 连接的建立 消息的收发 连接的断开 连接的建立 先看一下一个TCP server的创建过程. #include<stdio ...
- 利用log4j打印sql的log日志
默认情况下,使用ibatis是不打印ibatis相关的log的,因为内部的sql执行都是内部调用,在server的控制台是不 会 打印log的. 在log4j的配置文件log4j.properties ...
- 聊聊ChatGLM-6B医疗数据微调
转载请注明出处: https://www.cnblogs.com/zhiyong-ITNote/ 参考了多个医疗大模型,如扁鹊.灵心等,重新思考了下微调的方案以及数据集的格式:基于ChatGLM/其它 ...
- Mysql范式
什么是范式? "范式(NF)"是"符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度".很晦涩吧?实际上你可以把它粗略地理解为一张数据 ...
- 重新启动mysql
liu@liu-virtual-machine:~$ ps aux|grep mysqld mysql 5252 0.2 4.5 1496516 181200 ? Sl 11:01 0:01 /usr ...
