Linux 系统管理的一些实用命令

在当今数字化时代,Linux作为一种强大的开源操作系统,凭借其高度的灵活性、安全性和稳定性,已成为服务器环境和技术专业人士的首选平台。本文将为读者提供Linux系统管理的一些实用命令,从网络配置到系统监控,从文件操作到安全管理,帮助您更高效地掌握Linux运维。

目录

网络管理基础

系统信息与监控

文件系统操作

基本文件操作

高级文件功能

用户与权限管理

服务管理与自启动配置

网络安全与防火墙

系统安全与审计

高效工作的Shell技巧

数据处理工具

注意事项

结语

公众号来源:猕猴桃实验室     =>  转载请注明“转载于公众号:猕猴桃实验室”

公众号:猕猴桃实验室

微信公众号:猕猴桃实验室

网络管理基础

网络配置是Linux系统管理的核心部分。通过使用一系列命令工具,管理员可以全面了解和控制系统的网络状态:

  • • 使用watch ss -tpnetstat -tulpn实时监控网络连接状态

  • • 通过ifconfigip addr查看及修改网络接口配置

  • • 利用dighost命令进行DNS查询和域名解析

  • • 设置网关路由使用route add default gw [IP]

对于网络调试,Linux提供了强大的数据包捕获工具,如tcpdump,允许管理员深入分析网络流量:

tcpdump -i eth0 -XX -w out.pcap  # 捕获eth0接口流量并保存到文件
tcpdump -i eth0 port 80 dst 2.2.2.2  # 捕获特定目标和端口的流量

系统信息与监控

了解系统状态对于维护服务器健康至关重要。Linux提供多种工具来查看系统信息:

  • • uname -a显示内核信息

  • • cat /etc/*release*查看发行版信息

  • • df -hdu -sh分别检查磁盘空间和目录大小

  • • ps -eftop监控进程活动

  • • free -m查看内存使用情况

  • • lpstat -a查看是否存在打印机

系统日志是故障排除的重要资源,通常存储在/var/log目录下:

cat /var/log/syslog  # 查看系统日志
cat /var/log/auth.log  # 查看认证日志
grep "ERROR" /var/log/apache2/error.log  # 搜索Apache错误日志

文件系统操作

Linux继承了UNIX的核心设计理念——"一切皆文件"。这种设计方法提供了一个统一的接口,使系统能够以相同的方式处理各种不同类型的资源:无论是存储在磁盘上的文档、连接的外部设备、网络连接,甚至是进程间通信,都被抽象为字节流并通过文件系统访问。这一哲学让Linux系统保持了简洁而强大的用户体验。目录结构:系统的骨架Linux采用树状层级结构组织文件系统,以根目录(/)为起点,向下分支扩展。这种结构不仅便于管理,还提供了清晰的导航路径。每个目录都有其特定用途:

  • • /bin/sbin:存放系统运行所需的基本命令和管理工具

  • • /etc:包含系统配置文件,是系统管理员经常访问的区域

  • • /home:用户个人文件的存储位置,每个用户拥有自己的子目录

  • • /proc/sys:提供系统和进程信息的虚拟文件系统,实时反映系统状态

  • • /dev:设备文件目录,Linux在此创建设备节点以访问硬件

  • • /tmp:供所有用户存放临时文件,系统定期清理

这种结构使系统组件和用户数据得到有效分离,增强了系统的稳定性和安全性

基本文件操作

  • • 创建、查看、编辑文件:touchcatnano/vim

  • • 目录管理:mkdir创建,rmdirrm -rf删除

  • • 文件压缩与解压:
    tar czf archive.tar.gz files/  # 创建gzip压缩归档
    tar xf archive.tar  # 解压tar文件

高级文件功能

  • • 使用find搜索文件:
    find / -name "*.log" -type f  # 查找所有log文件
    find / -perm -4000 -type f  # 查找SUID文件(安全审计)
  • • 文件链接管理:
    ln -s target_file link_name  # 创建软链接
    ln target_file link_name  # 创建硬链接
  • • 文件权限设置:chmodchownchattr

用户与权限管理

安全管理始于严格的用户权限控制:

  • • 用户管理:useraddpasswdusermod

  • • 查看当前用户信息:idwhowlast

  • • 权限提升:sudosu

  • • 检查敏感文件权限:
    ls -l /etc/shadow  # 查看密码文件权限
    find /etc -perm -o+w  # 查找可被其他用户写入的配置文件
    • • 查看具有root权限的进程

ps aux | grep root
ps -ef | grep root

服务管理与自启动配置

不同发行版有不同的服务管理工具:

  • • 在基于Debian的系统(如Ubuntu)上:
    service apache2 status  # 检查服务状态
    update-rc.d apache2 defaults  # 设置开机自启
  • • 在基于Red Hat的系统(如CentOS)上:
    chkconfig --list  # 列出所有服务启动状态
    chkconfig httpd on  # 设置服务开机自启
  • • 现代systemd系统:
    systemctl status sshd  # 检查服务状态
    systemctl enable nginx  # 设置开机自启
    • • 查看本机任务计划

crontab -l
ls -alh /var/spool/cron
ls -al /etc/ | grep cron
ls -al /etc/cron*
cat /etc/cron*
cat /etc/at.allow
cat /etc/at.deny
cat /etc/cron.allow
cat /etc/cron.deny
cat /etc/crontab
cat /etc/anacrontab
cat /var/spool/cron/crontabs/root

网络安全与防火墙

iptables是Linux的核心防火墙工具,用于网络流量过滤和NAT:

# 列出当前防火墙规则
iptables -L -v --line-numbers

# 允许SSH连接
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# 阻止某IP地址
iptables -A INPUT -s malicious_ip -j DROP
# 禁止IP段访问
iptables -A INPUT -s 1.1.1.0/24 -j DROP  
# 阻断指定IP和端口流量
tcpkill host 192.168.1.100 port 80       

#端口转发
 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.0.0.2:80

系统安全与审计

安全审计是系统管理的重要组成部分:

  • • 查找特权文件:
    find / -perm -u=s -type f  # 查找SUID文件
    find / -perm -g=s -type f  # 查找SGID文件
  • • 检查可写目录:
    find / -writable -type d 2>/dev/null  # 查找全局可写目录
  • • 检查无主文件:
    find / -xdev \( -nouser -o -nogroup \) -print  # 查找无主文件
    • • 操作痕迹被攻击者清除

命令说明
history -c

清除当前会话命令历史

echo "" > ~/.bash_history

清空用户历史记录文件

ln /dev/null ~/.bash_history

永久禁用历史记录

  • • 查找可能存在用户名和密码的文本

grep -i user [filename]
grep -i pass [filename]
grep -C 5 “password” [filename]
find . -name “*.php” -print0 | xargs -0 grep -i -n “var $password” # Joomla
  • • 查看相关目录的隐藏文件

ls -ahlR /root/
ls -ahlR /home

高效工作的Shell技巧

掌握这些Shell技巧可大幅提高工作效率:

  • • 使用screentmux管理多会话
    #Screen多会话
    screen -S session_name    # 创建新会话
    Ctrl+a d                  # 分离会话
  • • 设置别名简化常用命令:alias ll='ls -la'

  • • 使用管道组合命令:
    cat large_file.log | grep "ERROR" | wc -l  # 计算错误出现次数
  • • 重定向输出:command > file.txt 2>&1

  • • 使用watch命令定期执行:watch -n 5 'ps aux | grep httpd'

自动化脚本示例1:

  #域名解析扫描
  #!/bin/bash
  for ip in {1..254}; do
    host 192.168.1.$ip | grep "name pointer"
  done

自动化脚本示例2:

#DNS反向解析
for ip in {1 .. 254 .. 1}; do dig -x l.l.l.$ip | grep $ip dns.txt; done; 

数据处理工具

Linux提供强大的文本处理工具:

  • • grep用于文本搜索:
    grep -r "password" /var/www/  # 递归搜索含password的文件
    grep -v "^#" /etc/ssh/sshd_config  # 显示非注释行
  • • sort用于数据排序:
    sort -t':' -k3 -n /etc/passwd  # 按UID数值排序
    du -sh * | sort -hr  # 按文件大小降序显示
  • • awksed用于高级文本处理

注意事项

  1. 1. 权限管理:慎用rm -rf,避免误删系统文件。

  2. 2. 安全命令:操作如kill -9:(){ :|:& };:或痕迹清理需谨慎,可能影响系统稳定性。

  3. 3. 脚本安全:执行未知脚本前建议审核代码,防止恶意操作。

结语

Linux系统的强大之处在于其灵活性和可定制性。通过深入了解和熟练掌握本文介绍的命令和技术,管理员可以构建高效、安全且稳定的系统环境。随着经验的积累,您将能够应对各种系统管理挑战和安全风险,并充分发挥Linux的潜力。

> 拓展阅读:《Linux Shell脚本攻略(第2版)》

 参考:

  • https://www.digitalocean.com/community/tutorials/linux-commands

  • https://bjpcjp.github.io/pdfs/devops/linux-commands-handbook.pdf

  • https://docs.fab.lse.ac.uk/docs/linux-commands/

免责声明: 

文章中涉及的内容可能带有攻击性、损害性,请注意识别。文章内容仅能用于安全检测、安全防御、安全研究等合法合规的用途,请勿用作其它方面。若有违反,违反者将自行承担相应法律责任及连带责任,违反者的行为与本文章内容的创作者无关。请遵守相关法律法规,共同维护网络环境的清朗!如有问题可私信联系,望知悉。

往期回顾:

社区交流订阅:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值