zoukankan      html  css  js  c++  java
  • Linux 系统管理

    一、用户修改密码

    问题现象

    用户登录后,修改自己的密码,出现 passwd:Authentication token manipulation error(身份验证令牌操作错误),一般是密码文件的权限的问题,不过也有可能是根目录空间满。

    问题定位

    lsattr 命令查看存放用户和密码的文件属性,发现有i选项(不得任意更动文件或目)。所以所有的用户都不能修改密码,因为没有权限允许。

    [root@client ~]# lsattr /etc/passwd && lsattr /etc/shadow
    ----i----------- /etc/passwd
    ----i----------- /etc/shadow

    问题解决

    chattr 命令将i权限撤销,然后再执行 passwd 改密操作。为了安全起见,改密后把存放用户和密码的文件保护起来

    [root@client ~]# chattr -i /etc/passwd && chattr -i /etc/shadow
    
                              /* 进行改密操作 */
    
    [root@client ~]# chattr +i /etc/passwd && chattr +i /etc/shadow

    Linux命令参考

    在Linux中用chattr和lsattr命令管理文件和目录属性

     

    二、用GDB调试segmentation fault

    当运行程序发生段错误时,使用GDB调试能快速定位错误位置

    Linux提供的core dump机制:当程序中出现内存操作错误时,会发生崩溃并产生核心文件(core文件)。

    (1)无论你是用Makefile来编译,还是直接在命令行手工输入命令来编译,都应该加上 -g 选项。

    (2)一般来说,在默认情况下,在程序崩溃时,core文件是不生成的(很多Linux发行版在默认时禁止生成核心文件)。所以,你必须修改这个默认选项,在命令行执行:

    ulimit -c unlimited  // 不限制生成的core文件的大小

    注,ulimit 的其他用法

    ulimit -c 0  // 禁止产生core文件
    ulimit -a    // 将显示所有的用户定制

    (3)运行你的程序,使之重现Segmentation Fault错误。

    (4)这时,你会发现在你程序同一目录下,生成了一个文件名为 core.*** 的文件,即核心文件。例如,“core.1523”这样的文件。

    (5)用GDB调试它。假设你的可执行程序名为test,则在命令行执行:

    gdb test core.1523

    三、网络分析工具

    ping

    (1)使用ipconfig/all观察本地网络设置是否正确。(Linux下使用ifconfig)
    (2)ping 127.0.0.1,来检查本地的TCP/IP协议有没有设置好。
    (3)ping本机IP地址,这样是为了检查本机的IP地址是否设置有误。
    (4)ping本网网关或本网IP地址,这样是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常。(在非局域网中这一步骤可以忽略)
    (5)ping本地DNS地址,这样做是为了检查本地DNS服务器是否工作正常
    (6)ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。ping远程IP地址可以用来测试网络延时。

    tcpdump

    截取某主机相关的包

    想要截获所有210.27.48.1的主机收到的和发出的所有的数据包,使用如下命令

    tcpdump host 210.27.48.1

    想要截获主机210.27.48.1和主机210.27.48.2或210.27.48.3的通信,使用如下命令(在命令行中使用括号时,一定要添加“”)

    tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 )

    如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用如下命令

    tcpdump ip host 210.27.48.1 and ! 210.27.48.2

    如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令

    tcpdump ip host 210.27.48.1 and ! 210.27.48.2
    

    截取某端口相关的包 

    获取在端口6666上通过的包,使用如下命令

    tcpdump port 6666

    截取某网卡的包 

    获取在网卡eth1上通过的包,使用如下命令

    tcpdump -i eth1

    netstat

    (1)IP和TCP的分析,如查看链接某服务端口最多的IP地址命令是

    netstat -nat | grep “192.168.1.15:22” | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | head -20 

    (2)TCP各自状态列表

    netstat -nat | awk ‘{print $6}’ 


    (3)先把各种TCP状态全部取出来,然后使用uniq -c统计,之后再进行排序

    netstat -nat | awk ‘{print $6}’ | sort | uniq -c

    lsof

    (1)查看6666端口现在运行情况,命令:lsof -i:6666

    (2)查看所属root用户进程所打开的文件,文件类型为txt,命令:lsof -a -u root -d txt

    (3)监控打开的文件和设备。查看设备 /dev/tty1被哪些进程占用的命令是:lsof /dev/tty1

    (4)监控程序,查看指定程序server打开的文件:lsof -c server

    (5)监控用户,查看指定用户sharexu打开的文件:lsof -u sharexu

    四、修改网卡名  

    cd /etc/sysconfig/network-scripts/    //进入网卡文件夹
    vi ifcfg-ens33   //将ifcfg-eno16777736(系统默认)里面的NAME DEVICE项修改为eth0 
    mv ifcfg-ens33 ifcfg-eth0   // 修改网卡名
    vi etc/default/grub   //加入“net.ifnames=0 biosdevname=0 ”到GRUB_CMDLINE_LINUX变量,禁用该可预测命名规则
    grub2-mkconfig -o /boot/grub2/grub.cfg    //新生成GRUB配置并更新内核参数
    reboot  //重启

    四、man命令后面的作用

    可通过man man 进行查看:

    作者:yusq77

    -------------------------------------------

    Wish you all the best and good health in 2021.

  • 相关阅读:
    Count and Say leetcode
    Find Minimum in Rotated Sorted Array II leetcode
    Find Minimum in Rotated Sorted Array leetcode
    Search in Rotated Sorted Array II leetcode
    search in rotated sorted array leetcode
    Substring with Concatenation of All Words
    Subsets 子集系列问题 leetcode
    Sudoku Solver Backtracking
    Valid Sudoku leetcode
    《如何求解问题》-现代启发式方法
  • 原文地址:https://www.cnblogs.com/yusq77/p/10819752.html
Copyright © 2011-2022 走看看