分类: linux

  • redis 密码登录

    redis-cli

    auth (password)

  • Ubuntu笔记本合上盖子后无法远程重启的解决方法

    众所周知,Ubuntu系统笔记本可以通过远程控制重启系统,但是合上盖子后就无法实现这个功能了,这是怎么回事呢?碰到这个问题我们要如何解决呢?下面,小编就给大家介绍下Ubuntu笔记本合上盖子后无法远程重启的解决方法。


    Ubuntu系统

      方法步骤:

      1、首先检查电源选项,合上盖子选项设为“Do Nothing”。

      2、修改login manager 。

      打开/etc/systemd/logind.conf

      将:

      #HandleLidSwitch=suspend

      修改为:

      HandleLidSwitch=ignore

      重启system manager:

      systemctl restart systemd-logind

  • deepin 设置远程自动重启正常自动登录

    1.账号设置 自动启动 无密码登录

    Ubuntu笔记本合上盖子后无法远程重启的解决方法

    2.

     方法步骤:

      1、首先检查电源选项,合上盖子选项设为“Do Nothing”。

      2、修改login manager 。

      打开/etc/systemd/logind.conf

      将:

      #HandleLidSwitch=suspend

      修改为:

      HandleLidSwitch=ignore

      重启system manager:

      systemctl restart systemd-logind

  • Centos6和Centos7系统运行级别

    Centos7:

    启动级别:

    1. 00:系统的关机级别,init 0 进入到关机状态                   poweroff.target
    2. 01:系统的单用户模式  用于修复系统 或 重置密码信息      没有网络        rescue.target
    3. 02:系统的多用户模式     没有网络               multi-user.target
    4. 03:系统的多用户模式,正常系统运行级别多用户模式级别     有网络         multi-user.target
    5. 04:预留级别             multi-user.target
    6. 05:图形化界面级别           graphical.target
    7. 06:系统的重启级别           reboot.target

    Centos6

    启动级别:

    1. 00:系统的关机级别,init 0 进入到关机状态
    2. 01:系统的单用户模式  用于修复系统 或 重置密码信息      没有网络
    3. 02:系统的多用户模式     没有网络
    4. 03:系统的多用户模式,正常系统运行级别多用户模式级别     有网络
    5. 04:预留级别
    6. 05:图形化界面级别
    7. 06:系统的重启级别

    1、查看系统当前运行级别

    Centos6:

        #runlevel     或者       #cat  /etc/inittab

    Centos7:

         #systemctl get-default

    2、修改系统运行级别

    Centos6:

           #   vim   /etc/inittab (永久调整)   或者    init  运行级别数值   (临时调整)   

    Centos7:

            #  systemctl    set-default    运行级别

    如:systemctl set-default multi-user.target

    3、运行级别文件信息

    Centos6: #/etc/inittab

    Centos7:#ls -l /usr/lib/systemd/system/runlevel*target

    4、临时切换系统使用:

    图形–> 文本

    # systemctl isolate multi-user.target

    文本–>图形

    # systemctl isolate graphical.target

  • Ubuntu下init启动级别解释

    在Ubuntu装显卡驱动的时候,会使用sudo init 3这条命令,这样就省去了sudo service lightdm stop,那么原因是什么呢?解释如下:

    运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

    运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

    运行级别2:多用户状态(没有NFS)

    运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

    运行级别4:系统未使用,保留

    运行级别5:X11控制台,登陆后进入图形GUI模式

    运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

  • deepin linux怎么开机进入命令行(文本模式)

    deepin linux下如果希望开机就进入文本命令行模式可以参考本经验。

    方法/步骤

    1. 首先,同时按CTRL+ALT+T键,打开终端。
    2. deepin linux使用的是lightdm启动器,它是默认开机启动的。
    3. 通过执行如下命令将其禁止开机自启动即可。sudo systemctl disable lightdm
    4. 再查看开机启动状态已经关掉了。
    5. 这时候重启一下电脑。sudo shutdown -r now
    6. 再次开机如下图所示。
    7. 输入用户名和密码,就可以进入命令行模式使用了deepin linux了。
  • ubuntu找不到chkconfig命令

    在Ubuntu 中使用 chkconfig命令报错

    chkconfig: command not found
    

    问题原因
    Ubuntu 中 chkconfig 已经被 sysv-rc-conf 所替代

    解决办法:

    apt-get update
    apt-get install sysv-rc-conf
    sysv-rc-conf --list
    
    

    在进行安装sysv-rc-conf 有可能会出现Unable to locate package sysv-rc-conf
    解决办法:

    第一步:打开sources.list文件
    vi /etc/apt/sources.list
    第二步:在sources.list文件最后一行中添加如下一列文本
    deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
    第三步:更新apt-get
     apt-get update
     第四步:重新安装sysv-rc-conf
     apt-get install sysv-rc-conf
     第五步:查看服务情况
    

    在这里插入图片描述
    完成

    文章知识点与官方

  • CentOS 8运行其它环境编译的curl报77错误解决方法

    此问题来源于经过Github Actions编译出来的curl执行程序,由于actions默认的构建环境都是Ubuntu的,编译构建出来的新版本curl放到CentOS 8上运行时,会提示类似如下内容的错误(仅限需要用到ssl证书的协议,如https):

    12345 curl: (77) error setting certificate verify locations:    CAfile: /etc/ssl/certs/ca-certificates.crt    CApath: none ... curl: (77) Error reading ca cert file /etc/ssl/certs/ca-certificates.crt - mbedTLS: (-0x3E00) PK - Read/write of file failed

    按照网上搜到的说法,重新yum安装ca-certificates之类的都不起作用,查看/etc/ssl/certs目录,发现有如下内容:

    lrwxrwxrwx 1 root root 49 Sep 22 21:54 ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
    lrwxrwxrwx 1 root root 55 Sep 22 21:54 ca-bundle.trust.crt -> /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt

    于是想到是不是构建和运行系统环境配置不同所致,于是建立软连接

    ln -s /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt ./ ca-certificates.crt

    再次执行curl访问https网站,问题解决!

    PS: 后续在K2P的OpenWRT路由器上试验curl时也遇到了类似问题,不过这次可没有/etc/pki/ca-trust里现成的证书了,参考其它OP系统解决此问题的方法,发现都是用“opkg install ca-bundle ca-certificates”来从软件源安装证书,这个貌似在K2P的官方固件上是行不通的,于是参考这里:https://www.myflv.cn/course/87.html,直接从curl官网: http://curl.haxx.se/ca/cacert.pem 下载ca证书,并复制到上面提到的同样位置:/etc/ssl/certs/ca-certificates.crt 即可。

  • linux命令-watch

    watch

    相关命令:暂无相关命令

    watch 可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令

    watch[参数][命令]

    主要参数:

    -n 或--interval  watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
    -d 或--differences  用-d或--differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
    -t 或-no-title  会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。
    -h 或--help 查看帮助文档

    例1

    [root@localhost ~]# watch -n 10 netstat -tpnl    #每10秒显示一下,已连接的TCP连接
    
    [root@localhost ~]# watch -d ls -l  #高亮显示ls -l
    
    

    例2

    [root@rudder ~]# watch 'ps aux|grep httpd'  #比较常用的查看某个进程,自动2秒刷新。
    
    Every 2.0s: ps aux|grep httpd                                                              Wed Jun  5 16:15:20 2013
    
    root     16581  0.0  0.3  37112 18728 ?        Ss   May28   0:01 /usr/sbin/httpd
    apache   28029  1.3  0.3  46300 19636 ?        S    16:04   0:08 /usr/sbin/httpd
    apache   29348  2.0  0.3  50804 24064 ?        S    16:10   0:05 /usr/sbin/httpd
    apache   29409  1.3  0.3  46404 19748 ?        S    16:12   0:02 /usr/sbin/httpd
    apache   29412  1.9  0.4  51892 25152 ?        S    16:12   0:03 /usr/sbin/httpd
    apache   29414  1.4  0.4  51720 25056 ?        S    16:12   0:02 /usr/sbin/httpd
    apache   29418  1.5  0.4  51892 25176 ?        S    16:12   0:02 /usr/sbin/httpd
    apache   29422  1.5  0.3  46408 19760 ?        S    16:12   0:02 /usr/sbin/httpd
    apache   29428  1.5  0.3  49952 23992 ?        S    16:12   0:02 /usr/sbin/httpd
    apache   29500  1.3  0.3  49280 22596 ?        S    16:13   0:01 /usr/sbin/httpd
    apache   29515  1.1  0.3  46300 19512 ?        S    16:13   0:01 /usr/sbin/httpd
    apache   29590  0.0  0.1  37112  9688 ?        S    16:14   0:00 /usr/sbin/httpd
    apache   30148  5.7  0.3  46296 19512 ?        S    16:15   0:00 /usr/sbin/httpd        
    root     30177  0.0  0.0   4580   976 pts/1    S+   16:15   0:00 sh -c ps aux|grep httpd
    
    
  • Linux服务器被入侵后,我们该如何排查隐患

    1、用户信息文件/etc/passwd

    ps:无密码只允许本机登陆,远程不允许登陆

    2、影子文件:/etc/shadow

    3、查看当前登录用户及登录时长

    4、排查用户登录信息

    1.查看最近登录成功的用户及信息

    2.查看最近登录失败的用户及信息:

    3.显示所有用户最近一次登录信息:

    在排查服务器的时候,黑客没有在线,可以使用last命令排查黑客什么时间登录的有的黑客登录时,会将/var/log/wtmp文件删除或者清空,这样我们就无法使用last命令获得有用的信息了。

    在黑客入侵之前,必须使用chattr +a/var/log/wtmp文件进行锁定,避免被黑客删除.

    5、sudo用户列表

    入侵排查:

    通过.bash\_history文件查看帐号执行过的系统命令:

    打开 /home 各帐号目录下的 .bash_history,查看普通帐号执行的历史命令。

    为历史的命令增加登录的 IP 地址、执行命令时间等信息:

    注意:历史操作命令的清除:history -c

    该操作并不会清除保存在文件中的记录,因此需要手动删除.bash\_profile文件中的记录

    检查端口连接情况:

    使用 ps 命令,分析进程,得到相应pid号:

    查看 pid 所对应的进程文件路径:

    分析进程:

    查看进程的启动时间点:

    根据pid强行停止进程:

    注意:如果找不到任何可疑文件,文件可能被删除,这个可疑的进程已经保存到内存中,是个内存进程。这时需要查找PID 然后kill掉。

    检查开机启动项:

    系统运行级别示意图:

    查看运行级别命令:

    开机启动配置文件:

    启动Linux系统时,会运行一些脚本来配置环境——rc脚本。在内核初始化并加载了所有模块之后,内核将启动一个守护进程叫做initinit.d。这个守护进程开始运行/etc/init.d/rc中的一些脚本。这些脚本包括一些命令,用于启动运行Linux系统所需的服务。

    开机执行脚本的两种方法:

    (1)在/etc/rc.local的exit 0语句之间添加启动脚本。脚本必须具有可执行权限

    (2)用update-rc.d命令添加开机执行脚本

    1、编辑修改/etc/rc.local

    2、update-rc.d:此命令用于安装或移除System-V风格的初始化脚本连接。脚本是存放在/etc/init.d/目录下的,当然可以在此目录创建连接文件连接到存放在其他地方的脚本文件。

    此命令可以指定脚本的执行序号,序号的取值范围是 0-99,序号越大,越迟执行。

    当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc_.d文件中建立软链接即可。

    语法:update-rc.d 脚本名或服务 <remove|defaults|disable|enable>

    开机即执行。

    入侵排查:

    计划任务排查:

    需要注意的几处利用cron的路径:

    上面的命令实际上是列出了/var/spool/cron/crontabs/root该文件的内容:

    • /etc/crontab只允许root用户修改
    • /var/spool/cron/存放着每个用户的crontab任务,每个任务以创建者的名字命名
    • /etc/cron.d/将文件写到该目录下,格式和/etc/crontab相同
    • 把脚本放在/etc/cron.hourly//etc/cron.daily//etc/cron.weekly//etc/cron.monthly/目录中,让它每小时/天/星期/月执行一次。

    小技巧:

    入侵排查:重点关注以下目录中是否存在恶意脚本;

    入侵排查:

    查询已安装的服务:

    RPM 包安装的服务:

    源码包安装的服务:

    异常文件检查:

    按照几种方式查找修改的文件:

    (1)按照名称

    (2)按照文件大小

    (3)按照时间查找

    (4)根据属主和属组查找:

    (5)按照CPU使用率从高到低排序:

    (6)按照内存使用率从高到低排序:

    补充:

    1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性。

    2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?
    可以使用find命令来查找,如find /opt -iname “*” -atime 1 -type f 找出 /opt 下一天前访问过的文件。

    3、针对可疑文件可以使用 stat 进行创建修改时间。

    系统日志检查:

    日志默认存放位置:/var/log/

    必看日志:secure、history

    查看日志配置情况:more /etc/rsyslog.conf

    日志分析技巧:


    内容很长,还有些枯燥,但是希望大家可以慢慢看完,要是有哪里需要补充的,也随时欢迎大家评论留言,好的,下课!!