2021年7月
linux之安全维护 btmp日志大
今天登陆linux服务器 发现var/log下的日志很大 其中包括btmp、message都很大!猜测是被人密码字典猜测后台root了。为规避风险对危险IP进行屏蔽
利用命令进行筛选IP
lastb | awk '{ print $3}' | sort | uniq -c | sort -n
扩展
将筛选结果导出来 放在home目录下以ips命名
lastb | awk '{ print $3}' | sort | uniq -c | sort -n > /home/ips.txt
2.删除日志
rm -rf /var/log/btmp
touch /var/log/btmp
linux安装pureftpd
linux thinkphp5 Log write root权限造成www无法读取的BUG
版本:thinkphp5.1
thinkphplibrarythinklogdriverFile.php 148行
问题:最近项目发布到linux系统centos上,Nginx运行的用户是www 而日志 write则变成了root用户 这样www无法读取日志就造成程序错误。linux有严格的权限管理!先根据网上的攻略进行改造!记录如下:
/**
* 日志写入
* @access protected
* @param array $message 日志信息
* @param string $destination 日志文件
* @param bool $apart 是否独立文件写入
* @param bool $append 是否追加请求信息
* @return bool
*/
protected function write($message, $destination, $apart = false, $append = false)
{
// 检测日志文件大小,超过配置大小则备份日志文件重新生成
$this->checkLogSize($destination);
// 日志信息封装
$info['timestamp'] = date($this->config['time_format']);
foreach ($message as $type => $msg) {
$info[$type] = is_array($msg) ? implode("\r\n", $msg) : $msg;
}
if (PHP_SAPI == 'cli') {
$message = $this->parseCliLog($info);
} else {
// 添加调试日志
$this->getDebugLog($info, $append, $apart);
$message = $this->parseLog($info);
}
//解决root产生的日志 www无法访问
if (!is_file($destination)) {
$first = true;
}
$ret =error_log($message, 3, $destination);
try {
if (isset($first) && is_file($destination)) {
chmod($destination, 0777);
unset($first);
}
} catch (\Exception $e){
}
return $ret;
}
linux 流量监控 centos安装iftop
centos安装iftop
1.安装命令
yum install iftop –y
2.使用直接输入命令
iftop
3.其他使用方法
监控某网卡
iftop -i eth0 -n
显示网卡服务
iftop -i eth0 -n -P
4.常用的参数
-i 设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n 使host信息默认直接都显示IP,如:# iftop -n
-N 使端口信息默认直接都显示端口号,如: # iftop -N
-F 显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h (display this message),帮助,显示参数信息
-p 使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b 使流量图形条默认就显示;
-f 这个暂时还不太会用,过滤计算包用的;
-P 使host信息及端口信息默认就都显示;
-m 设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
5.将命令查询内容以log文件导出
如 将查询ip流量记录导出/tmp/iftop.log文件
iftop -i eth0 -N -P -t -L 50 -s 10 > /tmp/iftop.log
centos 7 安装supervisor 管理守护进程
1.安装supervisor
yum install -y supervisor
2.配置config文件
vim /etc/supervisord.conf
进入配置界面
□配置访问 将127.0.0.1:9001 修改为0.0.0.0:9001 所有都可以访问 user password就是访问用户和密码 自定义即可
□配置子配置进程文件
3.supervisor的常规操作
开机启动supervisor
systemctl enable supervisord
启动supervisor
systemctl start supervisord
停止supervisor
systemctl stop supervisord
查看supervisor状态
systemctl status supervisord
重载supervisor配置
supervisorctl reload
查看supervisor使用的端口
ps aux | grep supervisord
卸载supervisor
yum -y remove supervisor
停止supervisor所有进程
supervisorctl stop all
4.开启防火墙
A、腾讯云或阿里云 安全组添加9001端口(自行在服务商处理)
B、服务器开放端口
firewall-cmd --query-port=9001/tcp //监测端口是否开启
firewall-cmd --add-port=9001/tcp //开启80端口
firewall-cmd --remove-port=9001/tcp //关闭80端口
sudo firewall-cmd --reload //重新加载配置
5.其他
查询系统日志命令
journalctl -xe
/usr/bin/supervisord -c /etc/supervisord.conf
6.常见问题
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib64/python2.7/socket.py line: 224
解决:
/usr/bin/python2 /usr/bin/supervisord -c /etc/supervisord.conf
supervisorctl管理命令
supervisorctl status //查看所有进程的状态
supervisorctl stop [all]|[x] //停止所有或指定关闭x
supervisorctl start [all]|[x] //启动所有或指定启动x
supervisorctl restart //重启es
supervisorctl update //配置文件修改后使用该命令加载新的配置
supervisorctl reload //重新启动配置中的所有程序
nginx vue history模式 URL转发配置
#转发机制
location /{
index index.html index.htm;
if (!-e $request_filename) {
rewrite ^/(.*) /index.html last;
break;
}
}
实现:https://h5.xxx.com/mobile/acticity/album?id=1