<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on Keith's Site</title><link>https://cqroot.github.io/docs/linux/</link><description>Recent content in Linux on Keith's Site</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 23 Aug 2026 23:42:14 +0800</lastBuildDate><atom:link href="https://cqroot.github.io/docs/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>网络</title><link>https://cqroot.github.io/docs/linux/network/</link><pubDate>Sun, 23 Aug 2026 23:42:14 +0800</pubDate><guid>https://cqroot.github.io/docs/linux/network/</guid><description>&lt;h2 id="1-bond"&gt;1. Bond&lt;/h2&gt;
&lt;p&gt;Bond（网卡绑定）是 Linux 内核中的一项功能，一共有 7 种工作模式（mode 0~6），它能将多块物理网卡“虚拟”成一块逻辑网卡。这样做的主要目的是为了提升网络带宽、实现冗余备份（防止单点故障），或者两者兼顾。&lt;/p&gt;
&lt;p&gt;查看 Bond 口运行模式的方法是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;grep &lt;span style="color:#e6db74"&gt;&amp;#39;^Bonding Mode:&amp;#39;&lt;/span&gt; /proc/net/bonding/&amp;lt;BOND_NAME&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;不同 Bond 模式的输出如下：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;模式&lt;/th&gt;
 &lt;th style="text-align: left"&gt;名称&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Bonding Mode 输出&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 0&lt;/td&gt;
 &lt;td style="text-align: left"&gt;balance-rrg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;load balancing (round-robin)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 1&lt;/td&gt;
 &lt;td style="text-align: left"&gt;active-backupg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;fault-tolerance (active-backup)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 2&lt;/td&gt;
 &lt;td style="text-align: left"&gt;balance-xorg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;load balancing (xor)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 3&lt;/td&gt;
 &lt;td style="text-align: left"&gt;broadcastg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;fault-tolerance (broadcast)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 4&lt;/td&gt;
 &lt;td style="text-align: left"&gt;802.3adg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;IEEE 802.3ad Dynamic link aggregation&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 5&lt;/td&gt;
 &lt;td style="text-align: left"&gt;balance-tlbg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;transmit load balancing&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;mode 6&lt;/td&gt;
 &lt;td style="text-align: left"&gt;balance-albg&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;adaptive load balancing&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Shell 启动类型与配置文件</title><link>https://cqroot.github.io/docs/linux/shell_startup_and_config_files/</link><pubDate>Sun, 23 Aug 2026 23:17:39 +0800</pubDate><guid>https://cqroot.github.io/docs/linux/shell_startup_and_config_files/</guid><description>&lt;h2 id="1-shell-的启动类型"&gt;1. Shell 的启动类型&lt;/h2&gt;
&lt;p&gt;Shell 的启动类型可以从登录状态和交互状态两个维度分类：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;登录状态
&lt;ul&gt;
&lt;li&gt;登录 Shell (Login Shell)：需要完整用户认证（需要输入用户名/密码登录）；&lt;/li&gt;
&lt;li&gt;非登录 Shell (Non-login Shell)：无需登录过程，在已有会话中启动。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;交互状态
&lt;ul&gt;
&lt;li&gt;交互式 (Interactive Shell)：等待用户输入命令，有提示符；&lt;/li&gt;
&lt;li&gt;非交互式 (Non-interactive Shell)：执行脚本或命令，无提示符。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;综合来说分为以下四类：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;非交互式非登录 Shell：
&lt;ul&gt;
&lt;li&gt;执行脚本的场景；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ssh user@host 'cmd'&lt;/code&gt;，可以理解为 SSH 登录后执行 &lt;code&gt;/bin/bash -c 'cmd'&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;交互式非登录 Shell：在终端中执行 &lt;code&gt;bash&lt;/code&gt;、&lt;code&gt;su user&lt;/code&gt; 命令或在图形界面启动新终端。&lt;/li&gt;
&lt;li&gt;交互式登录 Shell：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;su -&lt;/code&gt; 或 &lt;code&gt;sudo -i&lt;/code&gt; 切换用户；&lt;/li&gt;
&lt;li&gt;SSH 交互式登录：&lt;code&gt;ssh user@host&lt;/code&gt;（不带命令）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;非交互式登录 Shell：指定 &lt;code&gt;--login, -l&lt;/code&gt; 选项的场景，如 &lt;code&gt;bash -l script.sh&lt;/code&gt; 等，该场景较少见；&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-shell-的配置文件"&gt;2. Shell 的配置文件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;非登录场景，仅加载以下配置文件：
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;/etc/bash.bashrc&lt;/code&gt; (部分发行版为 &lt;code&gt;/etc/bashrc&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/.bashrc&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;登录场景，加载顺序如下。
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;/etc/profile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/profile.d/*.sh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;加载下方&lt;strong&gt;第一个存在&lt;/strong&gt;的配置文件：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.bash_profile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/.bash_login&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/.profile&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Login Shell 不会读取 &lt;code&gt;~/.bashrc&lt;/code&gt;。
为了让 Login Shell 也加载 &lt;code&gt;.bashrc&lt;/code&gt;，常见做法是在 ~/.bash_profile 中显式添加：&lt;/p&gt;</description></item><item><title>SELinux</title><link>https://cqroot.github.io/docs/linux/selinux/</link><pubDate>Sun, 23 Aug 2026 23:15:28 +0800</pubDate><guid>https://cqroot.github.io/docs/linux/selinux/</guid><description>&lt;h2 id="1-selinux-三种工作模式"&gt;1. SELinux 三种工作模式&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Enforcing&lt;/code&gt;：强制模式。表示完全开启。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Permissive&lt;/code&gt;：宽松模式。表示功能虽然开启，但只警告不真正限制权限。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Disabled&lt;/code&gt;：禁用模式。表示关闭 SELinux。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;Enforcing&lt;/code&gt; 模式和 &lt;code&gt;Permissive&lt;/code&gt; 模式切换：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;getenforce &lt;span style="color:#75715e"&gt;# 查看 SELinux 模式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;setenforce &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 设置 SELinux 模式为 Enforcing 模式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;setenforce &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 设置 SELinux 模式为 Permissive 模式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;setenforce&lt;/code&gt; 仅能临时切换 &lt;code&gt;Enforcing&lt;/code&gt; 和 &lt;code&gt;Permissive&lt;/code&gt; 模式；若 SELinux 已禁用（&lt;code&gt;Disabled&lt;/code&gt;），需修改 &lt;code&gt;/etc/selinux/config&lt;/code&gt; 并重启系统才能启用。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;开关 SELinux 需要修改配置文件 &lt;code&gt;/etc/selinux/config&lt;/code&gt; 并重启服务器。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sed -i &lt;span style="color:#e6db74"&gt;&amp;#39;s/^SELINUX=.*$/SELINUX=enforcing/&amp;#39;&lt;/span&gt; /etc/selinux/config
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sed -i &lt;span style="color:#e6db74"&gt;&amp;#39;s/^SELINUX=.*$/SELINUX=permissive/&amp;#39;&lt;/span&gt; /etc/selinux/config
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sed -i &lt;span style="color:#e6db74"&gt;&amp;#39;s/^SELINUX=.*$/SELINUX=disabled/&amp;#39;&lt;/span&gt; /etc/selinux/config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2-selinux-安全上下文"&gt;2. SELinux 安全上下文&lt;/h2&gt;
&lt;p&gt;SELinux 安全上下文分为 &lt;strong&gt;进程安全上下文&lt;/strong&gt; 和 &lt;strong&gt;文件安全上下文&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;上下文由 user:role:type:level 四部分组成：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用户（user）；&lt;/li&gt;
&lt;li&gt;角色（role）；&lt;/li&gt;
&lt;li&gt;类型（type）；&lt;/li&gt;
&lt;li&gt;灵敏度（level）。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="21-selinux-进程安全上下文"&gt;2.1. SELinux 进程安全上下文&lt;/h3&gt;
&lt;h3 id="22-selinux-文件安全上下文"&gt;2.2. SELinux 文件安全上下文&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 查看目录当前的安全上下文&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ls -Zd /opt/test
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 查看文件当前的安全上下文&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ls -Z /opt/test/file
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;修改文件安全上下文：&lt;/p&gt;</description></item></channel></rss>