Network Commands & Debugging
1. ip:现代网络配置与诊断工具ip 命令是 iproute2 工具集的核心,它已经取代了传统但逐渐过时的 ifconfig、route、arp 等命令,成为 Linux 系统上配置和诊断网络接口、路由表、IP 地址、ARP 缓存、隧道、IPSEC 等的首选工具。它的设计更符合现代网络协议栈,并且提供了更一致、更强大的语法。 核心功能ip 命令通过操纵内核的网络协议栈对象(如链路、地址、路由、邻居等)来管理和显示网络信息。它的通用语法是 ip [OPTIONS] OBJECT { COMMAND | help }。 深入解析与高级应用 对象 (Objects) 的理解: ip 命令的操作对象非常多,理解这些对象是掌握 ip 的关键: link: 网络设备(物理或虚拟接口,如 eth0, lo, br0, tun0)。 显示所有网络接口及其状态: ip link show (或 ip a 的简化输出) 启用/禁用接口: ip link set dev eth0 up / ip link set dev eth0 down (取代...
text processing
1. cat:连接文件并打印到标准输出cat (concatenate) 命令是最基本也是最常用的文本命令之一。它主要用于显示文件内容,但其核心功能是连接(concatenate)文件流。 核心功能: cat 读取一个或多个文件,然后将其内容按顺序输出到标准输出(通常是你的终端)。 基本用法: cat <文件>: 显示单个文件的内容。 示例: cat /etc/passwd cat <文件1> <文件2>: 连接两个或多个文件的内容并显示。 示例: cat file1.txt file2.txt cat > <文件>: 创建一个新文件并向其中写入内容。你输入的所有内容都会被重定向到文件中,直到你按下 Ctrl+D(表示文件结束)。 示例: cat > new_file.txt (输入内容,然后按 Ctrl+D) cat >> <文件>: 将内容追加到一个现有文件。 示例: cat >> existing_file.txt (输入内容,然后按...
user and group management
Linux user and group management commands:User Management Commands useradd – Add a new user adduser – Add a new user (more user-friendly wrapper for useradd) usermod – Modify an existing user userdel – Delete a user passwd – Set or change user password chage – Manage user password expiry information id – Show user ID (UID), group ID (GID), and groups whoami – Display the current username 1. useradd:添加新用户useradd 命令用于在 Linux...
sudo
sudo 命令详解与实践sudo (superuser do 的缩写) 是 Linux 和类 Unix 系统中一个至关重要的命令。它允许授权用户以其他用户(通常是超级用户 root)的身份执行命令,从而在多用户环境中提供细粒度的权限控制,而无需直接共享 root 密码。 sudo 本质上是一个权限管理工具,它通过 /etc/sudoers 这个配置文件来管理权限。 当你执行 sudo <command> 时,sudo 会进行以下检查: 用户认证: 询问你当前用户的密码,以确认你是本人。这个密码不是 root 密码,而是你自己的用户密码。 配置文件检查: 检查 /etc/sudoers 文件,确认你当前的用户是否被允许在当前主机上以特定身份(如 root)执行 <command>。 命令执行: 如果所有检查都通过,sudo 会执行该命令。 sudo 会记录每次执行的命令,这对于审计和安全追踪非常有帮助。 2. sudo 的基本用法在终端中,当一个命令需要 root 权限时,在其前面加上 sudo。系统会提示你输入当前用户的密码。 12sudo apt...
ssh转发
SSH转发(SSH forwarding)是一种通过SSH连接安全地传输网络流量的技术,常用于许多情况下,比如远程访问内部服务、加密流量传输等。 SSH转发包括三种主要类型: 本地端口转发(Local Port Forwarding): 将本地主机的某个端口转发到远程服务器的一个指定主机和端口上。 常用命令:ssh -L local_port:remote_host:remote_port user@ssh_server 远程端口转发(Remote Port Forwarding): 将远程服务器的某个端口转发到本地主机的一个指定主机和端口上。 常用命令:ssh -R remote_port:local_host:local_port user@ssh_server 动态端口转发(Dynamic Port Forwarding): 创建一个动态 SOCKS 代理,使得所有发送到本地端口的流量都经过SSH连接,并通过远程服务器转发。 常用命令:ssh -D local_socks_port...
ssh转发
SSH (Secure Shell) 是一种用于在不安全网络上安全访问和管理远程服务器的协议。SSH 提供加密通信,确保数据传输的保密性和完整性。 使用用户名和主机名(或 IP 地址)连接到远程服务器: 12345678910ssh username@hostnamessh -p port username@hostname# 生成密钥对ssh-keygen -t rsa -b 4096 -C "your_email@example.com"ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"# 添加公钥到远程ssh-copy-id username@hostname# 手动添加公钥到远程服务器:将 ~/.ssh/id_rsa.pub 的内容添加到远程服务器上的 ~/.ssh/authorized_keys 文件中。 SSH-Agent 和 SSH-Add 多次连接同一服务器:如果需要在一段时间内多次连接到同一服务器,使用 ssh-agent 和 ssh-add...
Linux中的特殊权限和文件属性
Linux 中的特殊权限和文件属性管理,包括传统的特殊权限位、ACL (Access Control Lists) 以及更底层的文件属性(chattr 和 lsattr)。这些功能提供了比基本 ugo/rwx 权限更细粒度的文件访问控制。 1. 特殊权限位 (SUID, SGID, Sticky Bit)除了我们熟知的用户 (User)、组 (Group) 和其他 (Others) 的读 (Read)、写 (Write)、执行 (Execute) 权限 (rwx),Linux 文件系统还提供三种特殊的权限位,它们有独特的作用: 1.1 SUID (Set User ID) 符号表示: s 位于所有者执行位 (u+x) 的位置。 数字表示: 八进制权限的最高位,例如 4755。 作用: 当一个可执行文件设置了 SUID 位后,任何用户执行该文件时,其进程的有效用户 ID 会暂时变为该文件的所有者 ID。 典型应用: passwd 命令:该命令通常属于 root 用户,并设置了 SUID 位。普通用户执行 passwd 时,进程会暂时拥有 root 权限,从而能够修改...
linux重学
一 、学习阶段在学习 CentOS Linux 或任何其他 Linux 发行版时,可以将学习划分为以下几个阶段,这些阶段按照逐渐增加的复杂性和深度,帮助你建立坚实的 Linux 技能: 入门阶段: 熟悉基本的 Linux 概念和术语,如文件系统、进程、权限等。 学习基本的命令行操作,如文件和目录操作、文件查看、编辑、权限设置等。 掌握基本的系统操作,如登录、关机、重启等。 系统管理阶段: 学习用户管理,包括添加、删除、修改用户账户,以及用户组管理。 掌握文件系统管理,包括文件和目录权限、文件系统挂载、磁盘管理等。 熟悉软件包管理,使用包管理工具(如 yum 或 dnf)安装、更新、删除软件包。 网络管理阶段: 学习网络配置,包括设置静态 IP 地址、配置网络接口、管理网络服务等。 掌握防火墙配置和管理,如使用 firewalld 管理防火墙规则。 理解网络诊断工具的使用,如 ping、traceroute、netstat 等。 安全性管理阶段: 学习身份验证和授权,如密码管理、sudo...
bash shell
第一部分:基础1. Bash 简介1.1 Shell 是什么Shell 是计算机操作系统中的一种用户界面,它为用户提供了与操作系统内核进行交互的方式。通过 Shell,用户可以执行命令、运行程序、管理文件系统等。Shell 是一个解释性的编程语言,它接受用户输入的命令,并将其转换为操作系统可以理解的指令。 1.2 为什么使用 Shell? 命令行的强大性: Shell 提供了强大的命令行接口,使得用户可以通过简短的命令完成复杂的任务。 脚本编程: 使用 Shell 脚本,用户可以编写一系列的命令,形成可重复执行的脚本,实现自动化和批量处理。 系统管理: 系统管理员和开发人员常常使用 Shell 来管理和配置操作系统,执行系统维护任务。 灵活性和定制性: Shell 具有高度的灵活性,用户可以根据需要定制环境,创建别名,以及编写自定义函数。 1.3 Bash 是什么 Bourne Shell: Bash(Bourne Again SHell)是 Bourne Shell 的一个扩展。Bourne Shell 是由 Stephen Bourne 开发的原始 Unix...
openssl
加密 签名和SSL握手机制细节 对称加密:加密解密使用同一密钥,加解密速度快。 非对称加密:使用公钥配对加解密,速度慢。公钥从私钥中提取出来,一般拿对方公钥加密来保证数据安全性,拿自己的私钥加密来证明数据来源的身份。 单向加密 :不算是加密,也常称为散列运算,用于生成独一无二的校验码(或称指纹、特征码)来保证数据的完整性和一致性,如MD5、SHA。具有雪崩效应,任何一点数据的改变,生成的校验码值变化很大。 互联网数据安全可靠的条件: 数据来源可信,即数据发送者身份可信。 数据具备完整性,即数据未被修改过。 数据安全性,即数据不会被泄露,他们截获后无法解密。 对数据加密的方法有三种:对称加密、私钥加密和公钥加密。三种方法只靠其中一种都有不可容忍的缺点,因此考虑将它们结合使用。 ….. Openssl命令格式:openssl command [ comand_opts] [ comand_args ] Standard commandsasn1parse ca ciphers cmscrl ...