分类: 服务器

Linux or Windows Server

服务器, 未分类, 运营维护

利用.my.cnf,安全实现Shell下MySQL免输入密码登录

Defaults file

MySQL,相信大家都不陌生,平时也可能会在Linux服务器上使用mysql,mysqldump等登录到MySQL服务器进行操作。 如果直接执行

则会提示输入该用户的密码。 想一想,如果执行该命令的是cron等非交互式的程序,那到这一步就无法继续。 有人会在-p后接上密码,这是非常不安全的一种做法,万一有用户这时执行ps aux,你的密码就暴露了…… 其实,MySQL官方文档有说明,可以在~/.my.cnf处指定用户的密码。 .my.cnf的格式如下:

上面的us […]

Read more 12 Comments
操作系统, 服务器

开启OpenVZ的二级配额(允许小鸡使用配额)

edquota

OpenVZ,一个非常强大的虚拟化技术,性能损失近乎零(不超资源上限的情况下),因此也是我最喜欢的一种虚拟化技术。 最近在给OpenVZ安装某个程序,由于是多用户,因此需要使用Linux的配额(quota)功能,但是执行edquota -u 用户名时,提示无文件系统支持配额。   由于OpenVZ虚拟出来的VPS并不是独立一个分区的,甚至可以说只是一个简简单单的chroot,那就意味着无法简单地通过mount为usrquota和grpquota来开启配额支持。 看了下相关的官方文档,发现OpenVZ有二级配额功能。 首先关闭VPS的电源: [crayon-616d17619a4f71 […]

Read more 11 Comments
服务器, 运营维护

Linux下简单实现单用户资源限制思路

Linux是一个多用户&任务系统。如何防止某些用户占用服务器大量资源,避免影响其他用户的正常使用,是一个永不过时的话题。 很多人采用了国外的Cloudlinux,不过几十元一个月的授权费对于我这样一个学生来说,压力有点大。 前几个星期,我的某个服务器上某个用户被CC了,该用户的HTTPD进程占用了服务器大量资源,最后只能硬重启解决。 从那天开始,如何免费实现限制单用户的资源成为了我的一个迫不及待要解决的问题。 一:获取用户进程以及资源使用信息 Linux下能查看各用户的进程以及资源占用情况的命令有ps和top。其中top是交互式的,不太适合文本处理,因此要选用ps。 ps常用的参数有以 […]

Read more 2 Comments
服务器, 未分类, 运营维护

一个高频率的HTTP服务监控Shell Script

Nginx/Apache之类的长期运行,无法保证在遇到各种突发情况进程不会死掉。如果这时候又出门在外,一时间无法操作,那网站岂不是要宕机数个小时? 明显我无法接受这事情。于是一个简简单单的监控HTTP服务的Shell Script就出来了。

真的简简单单。 可见我并没有采用cron功能,毕竟这东西正常情况最低频率只能一分钟了。 restart那个function是http服务不正常后执行的,可以自行增添,删减,替换。sleep后面跟着的是秒数,在这里简单理解成监控频率吧。wget处,-t参数指的是尝试次数,这里我写了一次。 执行 […]

Read more 4 Comments
服务器, 未分类, 运营维护

Apache:只有访客IP的日志格式

前一篇文章:Nginx日志配合iptables自动封禁IP,提供了一个nginx只有访客IP的日志格式。 这里也顺便提供一个Apache的只有访客IP的日志格式:

把上面的一行代码放到apache的配置文件中去。 然后到站点配置文件中添加:

${APACHE_LOG_DIR}改成存放日志的路径。 配合前一篇文章的Shell Script,即可实现防CC。

Read more 3 Comments
服务器, 未分类, 运营维护

巧用Nginx的日志功能配合IPTABLES实现防范基础CC攻击(2013年11月24日8:24:13更新)

Log File

相信不少人都被CC过,我也不例外,因此一直以来想尽各种办法降低PHP所占的资源。 PHP所耗的资源算压下去了,带宽却满了…… 之前也看过有人使用Nginx的第三方模块limit req2实现防CC攻击,自己也弄过,但效果没想象中的好,只用了几十分钟我就抛弃了…… 昨天其中考试结束后,突然灵机一动,想到一个新的防CC方法。回家后经过多次调试,几经完善,已经基本能正常使用了。 这其中利用了Nginx的日志功能,还有自己写的一个Shell Script。本文出自微宇宙(http://zhensheng.im),转载者死一户口本。 Apache的请移步这里:Apache:只有访客IP的日志格式 首先给 […]

Read more 14 Comments
服务器, 未分类

使用sendmail与uuencode实现定时发送数据库备份到邮箱

crontab

自从上次误删数据后,我就给服务器开启了定时异地备份功能。实现方法简简单单,并不高级,cron jobs+scp。 不过天朝网络有点抽,最近与备份服务器使用SCP传输文件的速度非常慢,传一个打包的数据库都要好几十分钟,unbearable! 正欲物色新的服务器做备份时,想到自己的网易邮箱是无限容量的,既然如此,就拿来接收备份邮件吧! 总体思路如下:导出数据库,打包网站文件,通过uuencode编码,使用PIPE,数据流重定向至mail命令中然后发到我的网易邮箱中。 首先安装sendmail(安装了就忽略吧):

安装sharutil […]

Read more 4 Comments
服务器, 运营维护

设置ACL增强网站目录安全性

Linux的安全性高是人人皆知的,可以分别设置user,group,other的r/w/x的权限。 但是,对于我这种注重数据安全的人来说,这样简单的权限设置已无法满足我的需求。 就以Nginx+PHP-FPM的环境为例。一般给Nginx和php-fpm fork出来的进程的用户身份不同的。 假如给Nginx的执行身份是用户nginx,而php-fpm的执行身份是php-fpm。 在网站所有文件owner都是php-fpm的情况下,给网站目录的文件的最低权限就是505(user:r_x,group:___,other:r_x)(不能再低了,再低就无法正常访问了)。本文出自微宇宙(http://z […]

Read more 4 Comments
服务器, 未分类

IPv4 CIDR/NETMASK的简单计算

平时购买独立服务器,机房给的IP,大都以IP/CIDR或者IP/NETMASK来表示,应该很多人第一次看到都不懂是什么意思,我当初也如此…… 下文以192.168.1.0/255.255.255.0为例: 本例的IP段是IP/NETMASK格式的,要计算IP的数目,个人建议首先把子网掩码(NETMASK)转换为CIDR。 互相转换其实也不难,例如:255.255.255.0这个子网掩码,把255转换为二进制,你就会发现刚刚好是八个“1”: 因此255.255.255.0的CIDR=3*8=24,子网掩码最多四个255,CIDR最大也就是32。 至于子网掩码和CIDR更多有关的介绍的不是本文重点 […]

Read more 2 Comments
服务器, 运营维护

cPanel/WHM切换PHP执行方式为APACHE2HANDLER(dso)并为Apache2添加mpm-itk模块

apache2handler

今天安装了cPanel/WHM 11.38.2(下文简称cp),用了后,我只能说,cPanel管理员后台的功能真的不是一般的强大,简直是把DirectAdmin甩到十万九千七亿千米去了。 但世上没有十全十美的东西,不出我的预料,cPanel使用的是suPHP,PHP执行方式是FastCGI。 前面文章我曾经提到过suPHP的缺点,这里就不再重复。 既然APACHE2HANDLER(下文简称A2R)模式的安全性,性能等多方面都比FastCGI好,怎能不对cPanel进行改造改造呢? 首先,要切换PHP的执行方式。以root身份登录cPanel的后台,在“Service Configuration […]

Read more 4 Comments