1 概述

  • 服务器的磁盘空间被占满导致TAB补全指令失效(TAB会创建临时文件)
cannot create temp file for here-document: No space left on device
  • 真正服务器的信息不能暴露,所以下面都是用自己的VPS的例子

2 Linux磁盘管理相关操作

# 显示文件系统的磁盘使用情况统计
[root@vultr home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 29G 4.2G 23G 16% /
udev 1.5G 4.0K 1.5G 1% /dev
tmpfs 604M 892K 603M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.5G 156K 1.5G 1% /run/shm # du显示文件或者目录的大小
[root@vultr home]# du -bsh /*
229M /boot
8.9K /dev
24M /etc
4.0K /home
7 /lib
9 /lib64
...... # 查找大于10M的文件
find / -type f -size +10000000c -exec du -sh {} \;

3 发现btmp日志文件太大

(1)查看恶意ip试图登录次数:

[root@vultr log]# lastb|awk '{ print $3}'|sort|uniq -c| sort -n
392 43.225.180.10
463 pool-71-187-181-
600 128.199.231.254
673 162.105.87.199
799 5.188.10.76
863 42.7.27.165
1284 218.5.77.196
1415 185.143.221.2
1648 185.143.222.6
1832 116.31.116.36
2198 vmi86304.contabo
2254 129.213.88.157
3664 42.7.27.166
7229 116.31.116.35
14790 116.31.116.34
......

(2)处理措施

  • 修改SSH端口
# 修改 /etc/ssh/sshd_config
[root@vultr /]# vi /etc/ssh/sshd_config
Port 22 -> 修改为需要的值 # SSH服务重新启动
[root@vultr /]# service ssh restart # 修改完查看是否生效
[root@vultr /]# netstat -nlap|grep sshd|grep tcp|grep LISTEN
  • 禁止root账户登录(禁止之前记得创建普通用户账号和设定sudo密码)
# 修改 /etc/ssh/sshd_config
[root@vultr /]# vi /etc/ssh/sshd_config
添加 PermitRootLogin no # SSH服务重新启动
[root@vultr /]# service ssh restart
  • 封恶意IP地址:定时执行脚本读取登录失败IP,并添加到/etc/hosts.deny文件
# 1 secure_ssh.sh脚本
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.list
for i in `cat /usr/local/bin/black.list`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ ${#NUM} -gt 1 ]; then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done # 2 将secure_ssh.sh脚本放入cron计划任务,每1分钟执行一次。
# crontab -e
*/1 * * * * sh /usr/local/bin/secure_ssh.sh

4 总结

  • 服务器磁盘空间比较小时,简单的日志文件都可能导致磁盘空间不足
  • 应用的日志应该到达一定量级(如:100M)就压缩归档

5 参考博客

服务器爆满:cannot create temp file for here-document: No space left on device的更多相关文章

  1. Linux命令行报错 bash: cannot create temp file for here-document: No space left on device

    今天Linux服务器出问题了,使用"tab"补全命令时,提示 bash: cannot create temp file for here-document: No space l ...

  2. cd tom-bash: cannot create temp file for here-document: No space left on device

    Linux使用tab补全时提示 cd tom-bash: cannot create temp file for here-document: No space left on device 这是因为 ...

  3. Linux出现cannot create temp file for here-document: No space left on device的问题解决

    在终端输入:cd /ho 按tab键时,显示错误: bash: cannot create temp file for here-document: No space left on device 这 ...

  4. 【linux基础err】bash: cannot create temp file for here-document: No space left on device

    博主的device还有剩余空间也出现了这个问题,不知是什么原因,不过删除一些无用的内容,或者将某些有用的内容移动到其他硬盘,之后就可以正常使用了. 参考: 1. cannot create temp ...

  5. bash: cannot create temp file for here-document: Read-only file system

    文件系统被强制只读问题,第一眼看到百度了一下,说可能磁盘坏了.卧槽我都吓懵了系统盘坏了,闹着玩呢,然后接着查资料,排查 mount 查看所有挂载,发现根目录的挂载权限是ro只读. /dev/sda2 ...

  6. ls bash: cannot create temp file for here-document: No space left on device

    出现这种问题,一般是磁盘空间满了,或者是inode满了 使用命令: df -h查询磁盘空间 df -i 查询inode占用 Filesystem Inodes IUsed IFree IUse% Mo ...

  7. 网页验证码出不来,读取验证码时出错:javax.imageio.IIOException: Can't create cache file!

    版权声明:本文为博主原创文章,仅作为学习交流使用 转载请注明出处 https://www.cnblogs.com/linck/p/10593053.html 今天打开项目时,发现登陆界面的验证码出不来 ...

  8. javax.imageio.IIOException: Can't create cache file!

    javax.imageio.IIOException: Can't create cache file! at javax.imageio.ImageIO.createImageInputStream ...

  9. mysql 无法启动的原因Can't start server: can't create PID file: No space left on device

    一大早来到公司,看到了一个噩梦,后台总是登录不上,登录就出错,还以为被黑客入侵了.经过1个小时的排错原因如下: 我的服务器是linux的,mysql的报错日志路径是/var/log/,经过查看日志发现 ...

随机推荐

  1. Go语言函数之可变参数

    package main //.... 加参数类型 func Sum(nums ...int)int{ total:=0 for _,num:=range nums{ total+=num } ret ...

  2. hystrix(一) 简单使用, 以及动态配置更新

    本文转载自https://my.oschina.net/u/1169457/blog/1787414 hystrix 简单使用, 以及动态配置更新 概述 只介绍同步模式下简单的使用, 有助于快速接入, ...

  3. linux rtc中废弃的接口和新的接口

    1. 废弃的接口 rtc_tm_to_time 2. 替换废弃接口的新接口 rtc_tm_sub

  4. java time

    package cn.itcast_04;       import java.text.SimpleDateFormat;   import java.util.Date;       public ...

  5. web worker 的 self

    A self object, which is the global object representing the worker in this scope. 对self对象的译法,未知妥否. // ...

  6. Linux -- 进程或线程独占CPU

    如果想让特定进程或线程独占某一或某些CPU,我们需要做三件事. 一,隔离CPU,避免其它线程run在被隔离的CPU上. 二,绑定所有的interrupts到非隔离的CPU上,避免被隔离的CPU收到in ...

  7. iOS 11适配和iPhone X的适配

    这两天对自己负责的项目进行iOS 11和iPhone X的适配,网上的博客很多,也看了很多别人的记录博客,这里把自己遇到的问题记录下,当然有些不仅仅是iOS 11和iPhone X的适配,还包括自己遇 ...

  8. CentOS7.5使用RPM包安装MySQL5.7.22

    参考:https://blog.csdn.net/sevenkoala/article/details/76163853 1,安装环境查看 2,下载安装rpm包 下载地址:https://downlo ...

  9. [Paper Reading] Show and Tell: A Neural Image Caption Generator

    论文链接:https://arxiv.org/pdf/1411.4555.pdf 代码链接:https://github.com/karpathy/neuraltalk & https://g ...

  10. 10.Windows远程管理工具RAT----Metasploit基础----Metasploit模块----fsociety工具包

    Windows远程管理工具RAT QuasarRAT github.com/quasar/QuasarRAT 命令环境 MINGW64 (GCC编译器) mkdir RAT cd RAT git cl ...