更新于 

Linux基本命令(二)

万物皆文件

Linux分区

/dev/sd b 1
sd 表示SCSI设备
hd 表示IDE设备
b 表示磁盘的顺序号
1~4 表示主分区或者扩展分区5~n 代表逻辑分区
主分区:放系统
扩展分区:放逻辑分区
逻辑分区:放数据

  • 栗子:
    • /dev/hdb7
      • xx接口x块硬盘的第x个分区(逻辑分区)?
      • IDE接口2块硬盘第三个逻辑分区

Inode 节点

  • Inode节点是文件系统中的一种数据结构,用于存储文件或目录的元数据,包括文件大小、权限、所有者、时间戳等信息。

    • 每个文件和目录都有唯一的一个Inode节点,它通过文件系统中的唯一标识符(inode number)进行引用。
  • 是指磁盘上的物理存储单元,文件系统以块为单位来组织和管理数据。

    • 当一个文件被创建时,会根据其大小分配足够数量的块来存储数据,这些块的地址信息也被记录在相应的Inode节点中。
    • 当文件被读取或写入时,文件系统会按块的大小进行读取或写入操作。
  • 组织与存储过程
    image.png
    增删改查 https://www.cnblogs.com/whych/p/9315723.html

Linux命令结构

command [options] [arguments]

其中,command表示要执行的命令,options表示命令的选项,用于修改命令的行为,arguments表示命令的参数,用于指定命令要操作的对象。

例如,要查看当前目录下所有文件和子目录的列表,可以使用ls命令:

ls -l

这里,ls是命令,-l是选项,用于显示详细信息。没有传递参数,所以默认会列出当前目录下所有文件和子目录的名称。

密码操作

  • 查看密码
    • head -1 /etc/shadow
      • 公司常用密码生成格式
        • vi /etc/login.defs
          • PASS_MAX_DAYS 90 最长使用期限
          • PASS_MIN_DAYS 0 最短使用期限
          • PASS_MIN_LEN 8 密码最小长度为7
          • PASS_WARN_AGE 7 最长期限到期前7天提醒更改密码
  • 密码强度策略
    • centos 7以后如何设置?
      • /etc/security/pwquality.cof
      • authconfig --passim
  • 强制密码历史
    • 修改pam认证文件
      • /etc/pam.d/syste-auth
    • 添加/修改文件
      • auth required pam_tall2.so deny=6 unlock_time=300 even_deny_root root_unlock_time=60
  • 设置账户锁定策略
    • 目的:防止被连续试探密码,降低爆破可能性
    • 实施方法:
      • 修改pam认证文件
        • /etc/pam.d/system.auth
        • /etc/pam.d/sshd
  • 对开放目录设置粘滞位
    • 目的:允许小规模开放目录,用户作为暂存目录使用
    • 实施办法
      • chmod -t/tmp 目录添加粘滞位

实用命令

  • 查看所有/etc/所有.conf文件的权限
    • find -name "*.conf" -a -type f | xargs -I{} ls -lh {}
  • /etc/下所有.conf文件复制到/root目录下
    • find /etc/ -name "*.conf" -a -type f | xargs -I{} cp {} /root
      • 注意 cp {} 之间有一个空格
  • 去掉/etc/下所有.conf文件的其他账户权限
    • find -name "*.conf" -a -type f | xargs -I{} chmod o-rwx {}
    • 其他命令
      • sudo chmod o-rwx /etc/*.conf
  • 查找出 所有包含 Server Name 内容的文件
    • find / -type f | xargs -I {} grep -l "server name" {}
  • 查出所有监听状态连接的PID
    • netstat -anpt | grep "LISTEN" | awk '{print $7}' | awk -F/ '{print $1}'
  • 查找/data大于20K,修改时间为7天以内的文件,移动到/opt
    • find /data -size +20k -mtime -7|xargs -i cp {} /tmp

Linux 配置

  • 临时配置-使用命令调整网络参数
    • 在内存中,修改后很快就生效
      • 断电后就没东西了
  • 永久配置-通过配置文件修改网络参数

网络配置 & 其他常用命令

  • route
    • 作用:查看网管路由(网关地址)
    • 使用:route -n
  • netstat
    • 作用:查看系统的网络连接状态、路由表、接口统计等信息
    • 格式:netstat [选项]
      • anpt 查找所有TCP链接信息
      • ANPU 查找所有UDP链接`信息
      • -a-n-p-t-u-r
  • traceroute路由跟踪
    • 作用:测试从当前主机到目标主机之间是否连通
    • windows:tracert www.baidu.com
  • nslookup 域名解析
    • 作用:测试DNS域名解析
  • cat 查看文件
    • 查看首选DNS地址 /etc/resolv.conf 文件
  • hostname命令
    • 作用:设置主机名
    • 修改:vi /etc/hostname 保存全局网络设置,主要包括主机名信息
  • vim 修改文件
    • 修改IP
      • 临时修改
      • ifconfig 网卡 IP地址
    • 永久修改
      • 修改配置
        • 命令:vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
        • 作用:修改ip网关DNS
  • visudo 分权
    • 修改sudo的提权应用
      • visudo
      • username host = shell
      • 例如spider可以在本地使用useradd命令
        • spider localhost=/usr/sbin/useradd,/usr/bin/passwd,!/usr/bin/passwd root
        • 多个命令用" , "隔开
  • chattr设置关键文件底层属性
    • 目的:增强关键文件的底层属性,降低篡改风险
    • 语法:chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
    • 实施方法:
      • 修改关键文件和日志的底层属性
      • chattr +a /var/log.messages
      • chattr +i /var/log.messages.*
      • chattr +i /var/shadow
      • chattr +i /var/passwd
      • chattr +i /var/group
      • 不只限于上述文件,可用lsattr查看更改结果
        • 不可修改,可追加
      • chattr +i
        • 锁死
        • chattr -i 解锁
      • 模式:
        • a:让文件或目录仅供附加用途。
        • b:不更新文件或目录的最后存取时间。
        • c:将文件或目录压缩后存放。
        • d:将文件或目录排除在倾倒操作之外。
        • i:不得任意更动文件或目录。
        • s:保密性删除文件或目录。
        • S:即时更新文件或目录。
        • u:预防意外删除。
  • lsattr
    • 作用:Linux lsattr命令用于显示文件属性。用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。
    • 语法:
      • lsattr [-adlRvV][文件或目录...]
    • 参数
      • -a  显示所有文件和目录,包括以".“为名称开头字符的额外内建,现行目录”.“与上层目录”…"。
      • -d  显示,目录名称,而非其内容。
      • -l  此参数目前没有任何作用。
      • -R  递归处理,将指定目录下的所有文件及子目录一并处理。
      • -v  显示文件或目录版本。
      • -V  显示版本信息。
    • 参考
      https://www.runoob.com/linux/linux-comm-lsattr.html
  • 管道符 |
    • 作用:连接多个命令,将前一个命令的结果输出
    • 作为下一个命令的输入,一并执行
    • 语法 :
      • 命令1 | 命令2 | ··· | 命令n
    • 栗子:
      • command [options] [arguments] | command [options] | command [options]
      • 切 丁 萝卜 | 吃 炒 = 吃炒好的萝卜丁(一口吃一把萝卜丁)
  • xargs
    • 作用:xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
    • 命令格式:
      • somecommand |xargs -item command
    • xargs栗子:
      • 切 丁 萝卜 | xargs -I { } 吃 炒 { } = 吃炒好的萝卜丁(一口吃一个萝卜丁,直到吃完为止
        • find /etc/ -name "*.txt" -a -type f |rm -rf
        • find /etc/ -name "*.txt" -a -type f | xargs -I{} rm -rf{}
    • 更多 https://www.runoob.com/linux/linux-comm-xargs.html
  • grep
    • grep 查找文件
      • grep /bin/bash /etc/passwd 文件内容
        image.png

服务控制

  • systemctl start/stop/restart/reload/status 服务名称
  • 配置后使用systemctl start 服务 启动
  • 配置后使用systemctl status 服务 查看状态
  • PS:禁用掉UUID
    • 什么是UUID:

    UUID是通用唯一标识符(Universally Unique Identifier)的缩写,也称为GUID(全局唯一标识符)。UUID可以保证唯一性,即使在多个计算机系统中生成,也能保持唯一性。