Linux用户组与权限管理实战:从rwx到ACL与sudo全解析
搞Linux系统管理权限管理永远是绕不开的核心话题。不管你是刚接触 Linux 的新手还是已经在运维、嵌入式、后端开发领域摸爬滚打多年的老手用户、用户组、文件权限这三件事几乎每天都在打交道。很多人遇到“权限不够”“无法写入”“Permission denied”就习惯性chmod 777一把梭或者直接切 root 操作结果埋下一堆安全隐患甚至导致服务被入侵、数据被误删。这篇文章不说教科书式的废话直接按实际干活的经验来梳理一遍 Linux 用户组与权限管理的核心逻辑涵盖用户与组的底层设计、常用命令的实操细节、rwx 权限位的计算原理、SUID/SGID/Sticky Bit 特殊权限、ACL 访问控制列表以及 sudo 提权配置的坑。每个知识点都用场景化方式拆解尽量让零基础的朋友也能看懂让有经验的朋友能从中查漏补缺。1. 先想清楚用户和组到底是什么1.1 为什么系统不直接认用户名很多初学者会困惑我创建一个用户叫 zhangsan系统里也有这个字符串为什么文件属主不是直接记录“zhangsan”而是记录一串数字这就要理解 Linux 作为一个多用户操作系统的底层设计思路。Unix/Linux 从诞生起就是“多人共用一台机器”的形态。如果文件系统里直接存用户名每次读写文件都要解析字符串效率低更麻烦的是用户名可以随便改如果文件记录的名字被别人改掉了权限归属就全乱了。所以内核只认数字 ID也就是 UID用户 ID和 GID组 ID用户名和用户组名只是给人看的“标签”。/etc/passwd文件里存的是 UID 到用户名的映射/etc/group里存的是 GID 到组名的映射。用id命令可以很直观地看到这一切[rootlocalhost ~]# id zhangsan uid1001(zhangsan) gid1001(zhangsan) groups1001(zhangsan)这里有一个非常容易踩的坑如果你手动改过/etc/passwd或者用useradd时指定了不合适的 UID系统里可能出现两个用户名对应同一个 UID 的情况。这时候文件属主显示的是第一个匹配到 UID 的用户名而实际权限归属是 UID 而不是用户名。排查权限问题的时候如果发现用户名对不上先ls -n看数字 ID不要被字符串误导。1.2 用户分类和组分类的区分逻辑Linux 用户从功能上分三类超级用户rootUID 0、系统用户UID 1-999供守护进程使用、普通用户UID 1000 以上。系统用户也叫伪用户它们一般没有家目录、不能登录专门用来跑 nginx、mysql、redis 这类服务。组也同理系统组 GID 1-999普通组 1000 以上。类和组的设计意义在于职责隔离。举个最典型的场景你部署一个 Web 服务如果直接用 root 跑 nginx那 nginx 一旦被利用攻击者直接拿到整台机器的最高权限如果单独创建一个nginx用户让 nginx 进程以这个用户身份运行攻击者即使拿下了这个进程能访问的文件也仅限于该用户权限范围内的内容。组的目的则是把“一类需要共享某些资源的人”打包。比如公司的运维组、开发组、财务组同一个组内的成员可以共享某些目录的读写权限组外的默认无法访问。这样的模型相比 Windows 的“处处问权限”来说更简单更高效但也更依赖管理员规划的合理性。1.3 文件上的属主属组是怎么记录和变化的用ls -l看到的文件信息里第三列是属主第四列是属组。系统实际存储的是属主 UID 和属组 GIDls命令展示时再通过/etc/passwd和/etc/group换算成名字。文件的属主在创建时默认是创建者本人属组默认是创建者的主要组initial group。这个概念要特别强调很多初学者以为useradd zhangsan之后他创建的文件属组就是root或者随便一个默认组其实不对属组是他自己的私有组zhangsanGID 与 UID 相同这是大多数发行版的默认策略。修改属主用chown修改属组用chgrp也可以一条命令搞定chown zhangsan:develop /opt/project chown -R zhangsan:develop /opt/project # 递归处理所有子文件和目录这里提醒一句chown的语法是先属主后属组中间用冒号分隔。如果你只写chown zhangsan file只改属主只写chown :develop file只改属组。很多人记反了或者漏了冒号导致命令执行后权限归属和预想完全不一样。2. 用户与组的实操管理2.1 建用户时那些参数到底怎么选日常建用户我几乎不用裸useradd zhangsan这种方式因为默认参数并不总是符合预期。不同发行版对useradd默认值的规定不同比如有的会创建同名私有组有的不会有的会创建家目录有的不会。最稳妥的做法是显式指定关键参数。举一个实际例子给一个部署应用的人建用户同时把它加到运维组并设置密码和过期时间useradd -u 1501 -g ops -G develop -m -d /home/zhangsan -s /bin/bash -e 2026-12-31 zhangsan passwd zhangsan各参数含义如下-u 1501自定义 UID方便和公司内部统一身份管理对接。-g ops指定主组注意这个组必须已经存在否则会报错。-G develop指定附加组用户同时属于多个组时用这个参数。-m创建家目录。-d指定家目录路径。-s /bin/bash指定登录 shell如果不需要登录可以填/sbin/nologin。-e账户过期时间格式是 YYYY-MM-DD。给系统服务建用户则是另一套思路useradd -r -s /sbin/nologin -M nginx-r表示创建系统用户UID 从系统范围分配-s /sbin/nologin禁止登录-M不创建家目录。服务类用户不需要交互式登录也没必要有家目录这是最小权限原则的体现。2.2 改用户、删用户时容易踩的三个坑第一个坑是usermod -G和usermod -aG的区别。-G是直接覆盖用户的附加组列表-aG是在原有基础上追加。我曾经在处理一个同事的需求时想给他加个 docker 组写成了usermod -G docker zhangsan结果把他原来所在的 develop 组给顶掉了导致他访问不了项目目录。这个教训很深刻修改附加组时除非常明确要清理原有组否则一律用-aG。第二个坑是userdel默认不删家目录。RHEL/CentOS 系的userdel zhangsan只删除用户账号本身家目录、邮件文件都残留着。想整体清理用userdel -r zhangsan但这一步不可逆执行前确认一下家目录有没有需要备份的东西。我见过有人删完用户才发现家目录里存着没提交的代码这时候哭都来不及。第三个坑是修改用户主组时牵连了历史文件。用户的主组不是“改了立即全局生效”那么简单。/etc/passwd中的 GID 改变了但是该用户之前创建的文件属组不会自动跟着变。如果你usermod -g newgroup zhangsan旧文件的属组还是 oldgroup需要手动find /home/zhangsan -group oldgroup -exec chgrp newgroup {} \;来清理。2.3 组的管理组密码到底有没有用组相关的命令主要有groupadd、groupdel、groupmod和gpasswd。日常管理组关注最多的是组密码和组成员管理。组密码是个冷门知识点。当你执行gpasswd ops设置了组密码后不属于 ops 组的用户可以通过newgrp ops命令并输入组密码临时切换到 ops 组身份从而获得该组对应的权限。这在某些需要临时授权的内部场景是有用的但安全上要谨慎密码一旦泄露等于把组内所有资源的访问权发给了外部人员。生产环境我基本不设置组密码统一用 sudo 或者把用户加入组的方式来管理。组成员管理可以用gpasswd -a 用户名 组名添加成员gpasswd -d 用户名 组名移出成员。也可以直接编辑/etc/group文件在组名的最后一列用逗号分隔用户名。注意用户重新登录后新加入的组才会生效。如果用户当前已经登录需要重新登录或者执行newgrp 组名临时切换不然id命令看不到新组文件访问权限也不会立刻变化。这个问题非常容易在排障时被忽略。3. 文件权限rwx 背后的计算逻辑3.1 三类身份和三个权限位的真实含义Linux 文件权限针对三类身份分别设置属主u、属组g、其他o。每个身份对应三个权限位读r、写w、执行x。ls -l输出的第一列有 10 个字符第一个表示文件类型-普通文件、d目录、l软链接等后面 9 个字符每 3 个为一组对应属主、属组、其他的权限。很多新手对“目录的执行权限”感到困惑。对文件来说x 表示可以执行对目录来说x 表示可以“穿过”该目录也就是可以cd进去并访问里面的文件和子目录。如果目录只有 r 没有 x你能ls看到里面的文件名列表但无法访问文件的 inode 信息也就无法读取文件内容如果只有 x 没有 r你可以访问知道路径的文件但ls列不出里面有什么。所以实际部署中目录的权限组合最常见的是755或750——没有 x 的目录基本等于没用。3.2 chmod 数字模式和符号模式的换算数字模式本质是二进制到八进制的转换。r4、w2、x1把三个权限位相加得到最终数字。rwx 7、rw- 6、r-x 5、r-- 4即属主权限 第一位数字、属组权限 第二位数字、其他权限 第三位数字。我整理一张速查表方便大家对照权限组合数字值含义---0无任何权限--x1仅可执行/穿过-w-2仅可写-wx3可写可执行r--4仅可读r-x5可读可执行rw-6可读可写rwx7完全控制实际操作中给文件chmod 644是最常见的属主读写其他人只读适合配置文件给脚本或二进制程序chmod 755属主读写执行其他人读执行适合对外提供的可执行文件目录共享场景则常用chmod 770属主和属组完全控制其他无权限。符号模式则是用u、g、o、aall指定身份用、-、增加、删除、精确设置权限。比如chmod ux script.sh给属主加执行权限chmod o-w file去掉其他身份的写权限chmod ar file把所有人权限设置为只读。符号模式的好处是可以只改某一位而不影响其他位数字模式每次都是全量赋值容易把原有特殊权限位清掉。3.3 chown/chgrp 的使用边界chown只有 root 可以执行普通用户不能把文件属主改成别人也不能随便把属组改成自己不在的组。这其实是 Linux 一个很基本的安全约束防止用户通过更改属主来绕过磁盘配额或获取他人文件的控制权。日常场景里chown最常见的用途是把解压后的文件统一归属到某个运行用户或项目组。比如用 tar 从别的机器迁移过来一堆文件属主可能都是原来的 UID这时候一条递归修改就能解决tar xzf backup.tar.gz chown -R zhangsan:develop /data/project但chown -R必须谨慎使用。我见过有人把整个/usr目录chown -R zhangsan:zhangsan之后系统崩掉的案例。系统目录下的二进制、库文件、配置文件的属主错乱后服务起不来安全模块也可能拒绝加载排查起来非常痛苦。所以递归 chown 前务必确认目标路径的范围没有扩大。3.4 umask 默认权限是怎么来的你新建一个文件ls -l看到的默认权限通常是644新建目录是755。这个结果不是凭空来的是受到 umask 影响。umask 是一个“权限掩码”它表示“默认要屏蔽掉的权限位”。文件最大默认权限是 666没有执行位因为普通文件默认不应该是可执行的目录最大默认权限是 777。666 - 022 644777 - 022 755这就是 root 用户下常见 umask 022 的算法。但严格来说这个“减法”是一种方便理解的简化说法真正的逻辑是按位取反后再按位与文件权限 666 (~umask) 目录权限 777 (~umask)umask 022 的二进制是 000 010 010取反后属主位全保留属组位和其他位清除了写权限所以文件是rw-r--r--目录是rwxr-xr-x。查看当前 umask 用umask命令临时修改直接umask 027永久修改需要写进/etc/profile或用户自己的~/.bashrc。这里要给一句话在高安全要求的环境里umask 027 比 022 更稳妥因为其他用户连读取权限都没有避免敏感文件被同机器的其他用户扫到。4. 特殊权限位SUID、SGID、Sticky Bit4.1 为什么有了 rwx 还不够普通 rwx 权限是按“身份”判断的无法解决两个经典问题普通用户要临时以属主身份执行某个程序多个用户在共享目录里协作新文件的属组总是对不上。这就需要特殊权限位登场。特殊权限位也是 9 个权限位之外附加的标志位通过chmod的第四个八进制数字或者符号模式设置。特殊权限八进制值符号表示对文件的作用对目录的作用SUID4us执行时以文件属主的身份运行无实际意义SGID2gs执行时以文件属组的身份运行目录内新建文件自动继承目录属组Sticky Bit1ot无实际意义只有文件属主或 root 能删除设置方法举例chmod 4755 somebinary chmod us somebinary chmod 2770 /data/shared chmod gs /data/shared chmod 1777 /tmp chmod ot /tmp4.2 SUID普通用户为什么能改密码/etc/shadow文件里存着所有用户的密码哈希权限是----------600 都不给只有 root 能读写。那普通用户运行passwd命令为什么能改自己的密码因为passwd这个程序设置了 SUID[rootlocalhost ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 32680 Jan 30 2024 /usr/bin/passwd看到那个s了吗它在属主执行权限位的位置表示该程序执行时进程的有效 UID 会变成 root而不是运行者的 UID。所以普通用户执行passwd时进程以 root 身份修改/etc/shadow完成后立即退出root 权限没有留下任何常驻入口。这是一个非常聪明的设计把需要临时提权的程序做成精准授权工具而不是直接把 root 密码给用户。SUID 同时也是风险最高的权限位。如果一个不怀好意的用户拿到一个你可以执行的、带有 SUID 且属主是 root 的脚本或者二进制他就能以 root 身份运行它做各种操作。排查系统安全时找 SUID 文件是必做项find / -perm -4000 -type f 2/dev/null这个命令列出全盘所有带 SUID 的普通文件逐一确认是不是系统自带程序。如果发现/tmp下冒出来一个 SUID 的二进制大概率是被入侵过要立刻处置。4.3 SGID 适合共享目录场景SGID 体现在ls -l中属组执行的 x 位变成s。对于文件它的作用和 SUID 类似只是把有效 GID 改成文件属组。对于目录SGID 有更强的作用目录设置了 SGID 后任何人在这个目录下新建文件或子目录新文件的属组都会被强制设为目录的属组而不是创建者自己的私有组。场景举例团队有一个共享目录/data/teamshare属组设为develop权限2770所有开发人员都在develop组里。正常情况下zhangsan 在里面新建一个文件属主是 zhangsan属组应该是 zhangsan 自己的主组但设置了 SGID 后新建文件属组自动变成develop。这样团队里所有成员都能正常读写彼此创建的文件不用每次手动 chgrp也避免因为属组错乱导致互相访问不了文件。使用 SGID 时有一个坑默认 umask 会限制组写权限如果创建者 umask 是 022即使目录是 2770新建文件权限仍是 644组内其他人无法修改文件。解决办法是把共享目录的默认 umask 设置为 002 或 007让组权限默认带上写位或者用下面会讲到的 ACL 来更精细地控制。4.4 Sticky Bit 让 /tmp 不乱套Sticky Bit 的位置体现在其他身份的 x 位上/tmp目录显示为drwxrwxrwt。它解决的核心问题是在一个“所有用户都有写权限”的目录里允许用户间互相覆盖对方的文件吗如果不设置 Sticky Bit/tmp权限是 777任何用户都能删除别人放在里面的临时文件这显然是灾难。设置了 Sticky Bit 之后即使目录是 1777也只有满足以下条件之一的人才能删除或重命名文件文件的属主本人、目录的属主、root 用户。这样就保证了/tmp这个公共空间既允许所有人创建文件又不会被人乱删。很多初学者会把chmod 777当成万能解药但用私有服务器上可能问题不大一旦放到多人环境或者被恶意软件利用777 的公共目录配合没有 Sticky Bit基本等于把文件安全交了出去。习惯上公共临时目录必须chmod 1777而不能是777。5. 权限不够或者权限太够ACL 和 sudo5.1 ACL 给单个用户放行单个文件前面对话一直建立在“属主、属组、其他”三种身份之上但现实中有一个很常见的情况有 5 个用户的组是develop可你只想给其中一个叫zhangsan的用户单独放开某个目录的读写权限又不想把它加进组里带偏其他人。基础的 rwx 模型根本表达不了这种需求。这时候就要用 ACL访问控制列表。ACL 的本质是在传统 9 位权限基础上扩展出额外的用户和组权限项。查看文件 ACL 用getfacl设置用setfacl。给 zhangsan 单独开放目录读写执行权限的写法setfacl -m u:zhangsan:rwx /data/project注意如果对目录设置 ACL 但没有加-R只对目录本身生效不能递归到已有子文件。想对所有后续新建的文件默认生效需要设置默认 ACLsetfacl -m d:u:zhangsan:rwx /data/projectACL 设置成功后ls -l的权限位末尾会多一个号比如drwxrwx---。此时再用chmod修改权限要格外小心ACL 中有一个 MASK 字段它限制了所有“命名用户、属组、命名组”的最大权限范围。比如 mask 是 r-x 时哪怕你setfacl -m u:zhangsan:rwx file设置了 rwx实际有效权限也只有 r-x。排查 ACL 问题时先getfacl看 mask再ls -l看基础位。在排障现场我经常遇到“ACL 设置了还是说权限不够”的情况十有八九是 mask 没放开。5.2 sudo 配置与 sudo su 的坑sudo 是生产环境提权的事实标准它的配置只应该通过/etc/sudoers文件进行并且必须用visudo命令打开编辑。visudo会在保存时做语法校验如果语法写错它会拒绝保存从而避免你把 sudoers 弄坏导致整个系统无法提权。/etc/sudoers的基本逻辑是这样的给 zhangsan 授权所有命令zhangsan ALL(ALL) ALL常见拆解第一个ALL允许在哪些主机上执行通常保持 ALL。括号里的ALL可以以哪个用户的身份执行。最后一个ALL可以执行哪些命令。如果只想授权特定的几个命令例如控制服务重启zhangsan ALL(ALL) /usr/bin/systemctl restart nginx, /usr/bin/systemctl reload nginx给整个组授权%ops ALL(ALL) ALL免密执行某个命令zhangsan ALL(ALL) NOPASSWD: /usr/bin/rsync配置 sudo 时最容易出问题的有两个地方。一个是 PATH 问题sudo 执行命令时使用的是 secure_path不是你当前 shell 的 PATH如果你在 sudoers 里授权了systemctl但系统里它实际在/usr/bin/systemctl那授权路径必须写全不然执行时提示找不到命令。另一个是sudo su -的风控问题。sudo su会直接切到 root 的交互式 shell等于给了用户一个持续的 root 环境他后续执行的任何命令都不经过 sudo 日志审计。安全要求高的环境里能不开放sudo su就不开放尽量引导用户用sudo -i或者直接sudo 具体命令。5.3 最小权限原则的落地建议权限管理的终极原则只有一句话给够用的权限不要多给。我见过很多公司内部服务器权限混乱根本原因是图省事root 密码共享给所有人或者把普通用户直接加进 wheel 组免密 sudo ALL。这种管理方式看似方便实际上最危险——你根本无法控制谁在什么时候执行过什么危险命令。落地层面我的建议是日常操作不要用 rootroot 只保留给确实需要系统级操作的场景。所有需要提权的人都走 sudo并且按命令粒度和机器粒度拆分授权。定期用journalctl -u sudo或者/var/log/secure审计 sudo 调用记录看有没有异常命令出现。服务进程一律使用独立的系统用户运行不要把整个服务目录放到 root 权限下。数据目录、配置文件目录的权限宁可收紧一点出了访问问题时用 setfacl 细化放行也不要直接 777。6. 权限故障排查思路和速查表6.1 先从一条命令开始遇到权限问题我先不急着 chmod而是用一套固定的节奏来定位问题根源id # 确认当前用户、主组、附加组 ls -ldn 目标路径 # 看目录属主、属组、权限位-n 可以显示数字 UID/GID stat 目标文件 # 看完整的权限、ACL、umask 上下文 getfacl 目标文件 # 看是否被 ACL 干扰 mount | grep 目标路径 # 排除挂载选项限制nosuid、noexec、ro 等特别是最后的mount检查非常容易被忽略。很多权限问题其实是文件系统挂载选项导致的比如noexec导致脚本无法执行nosuid导致 SUID 不生效ro导致整个分区只读。这些都不是通过 chmod 能解决的。6.2 常见错误提示对应哪些原因错误提示大概率原因处理方式Permission denied权限不足可能是属主、属组、ACL 或 SELinux 拦截按 id、ls、getfacl 顺序排查Operation not permitted某些受内核或安全模块限制的操作检查 SELinux、AppArmor、capabilities无法删除文件目录没有写权限或未满足 Sticky Bit 条件检查目录权限和文件属主sudo: no valid sudoers sources用户不在 sudoers 白名单用 root 执行 visudo 添加授权新建文件属组不对未设置 SGID 或未显式使用 newgrp目录加 gs 或修正创建者主组chmod 后 ACL 仍然提示权限不够MASK 限制getfacl 查看 masksetfacl -m m::rx 调整第六项里 SELinux 是另一个世界的大坑。在 RHEL/CentOS/Fedora 系列系统上即使传统权限全部正确SELinux 的布尔值或文件上下文错误一样会拒绝访问。排查时可以先用getenforce确认状态再用ausearch -m avc -ts recent查拦截日志。如果确认是文件上下文问题用restorecon -R 路径恢复默认上下文或者根据服务需求设置正确的semanage fcontext标签。6.3 经验总结权限管理的最佳习惯最后分享一些我自己在实际运维中沉淀下来的习惯希望对你有参考价值。第一个习惯是“目录权限优先于文件权限”。大多数权限问题都出在目录上因为目录权限决定你能不能进入目录、能不能创建文件、能不能删除文件。查看问题时要先看目录的属主、属组、权限位再往下看文件。第二个习惯是“不要用 777 解决问题”。777 意味着任何用户都可以读写执行这在单机开发环境也许能糊弄过去但一旦服务器暴露在公网或多人使用环境777 目录等于给所有本机用户打开了后门。要从根源上搞清楚是谁需要什么权限用组、ACL、sudo 去精确授权。第三个习惯是“修改权限之前先备份属主和属组信息”。在批量改权限之前先跑一条命令把当前属主属组记录下来find /data/project -printf %p %u %g %m\n /tmp/perm_backup.txt万一修改之后发现搞错了可以按这个备份恢复。这个习惯救过我很多次尤其是遇到递归 chown 后出现异常场景时有备份就能一分钟还原没备份就只能加班修。第四个习惯是“配置完权限后用另一个身份验证一下”。比如你给 nginx 用户配好了静态目录权限就用su -s /bin/bash nginx -c ls /data/www去验证而不是停留在“看起来权限正确”的印象上。真正可用的权限是要靠目标用户实际访问测试后才知道的。Linux 权限管理的本质就是一套“身份 范围 动作”的判定模型。理解了用户和 UID/GID 的关系搞清楚 rwx 在文件和目录上的不同含义再熟悉特殊权限位、ACL 和 sudo 的适用场景你就能在绝大多数权限问题上游刃有余。下次遇到权限拒绝的时候别急着执行chmod 777按上面说的排查节奏走一遍你会发现大多数问题都能精准定位到具体原因并且用最小改动来解决。

相关新闻

Linux命令行效率提升指南:从.bashrc配置到环境优化

Linux命令行效率提升指南:从.bashrc配置到环境优化

我用了差不多十年Linux,回头看下来,觉得回报最高的一件事,不是学会了多少冷门命令,而是花了整整一个下午,认认真真把自己的.bashrc从头到尾理了一遍。从那以后,每次打开终端,提示符自己告诉我当…

2026/10/10 12:40:19 阅读更多 →
鸿蒙Flutter适配dart_rfb:VNC远程桌面实战与避坑指南

鸿蒙Flutter适配dart_rfb:VNC远程桌面实战与避坑指南

这阵子在折腾 Flutter 往鸿蒙上迁移,手头恰好有个需求要做远程桌面,让手机能够实时看电脑画面、顺带能点两下鼠标。翻了一圈方案,最后选了 dart_rfb 这个 VNC 客户端库。之所以选它,一是纯 Dart 实现,理论上可以不写原…

2026/10/10 12:40:19 阅读更多 →
Mac 上 Cursor 从安装到配置:迁移、索引与规则文件全攻略

Mac 上 Cursor 从安装到配置:迁移、索引与规则文件全攻略

简介:面向Mac平台开发者的Cursor编辑器安装配置方案,适合准备以Cursor替代IntelliJ IDEA开展Java或Spring开发的中初级工程师。压缩包内以md说明文档为主线,从官网下载与系统安全权限确认开始,逐步覆盖user rules中设定AI始终以中…

2026/10/10 12:40:18 阅读更多 →

最新新闻

Opus 4.8 级性能满天飞,Ornith-1.5 的榜单水分谁挤过?

Opus 4.8 级性能满天飞,Ornith-1.5 的榜单水分谁挤过?

Opus 4.8 级性能满天飞,Ornith-1.5 的榜单水分谁挤过? 【免费下载链接】Ornith-1.5-35B-A3B-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/ornith-ai/Ornith-1.5-35B-A3B-GGUF 2026 年 8 月,DeepReinforce 发布 Ornith-1.5 系列…

2026/10/10 13:26:26 阅读更多 →
cn-llm-router:为Claude Code等harness接入国内大模型的本地路由方案

cn-llm-router:为Claude Code等harness接入国内大模型的本地路由方案

1. 为什么我要折腾模型路由这件事用 Claude Code 这类 harness 工具写代码,体验确实好,但账单也是真让人肉疼。我平时主力开发环境在国内,网络访问海外 API 本来就不算顺畅,再加上按量计费,一个月下来光是模型调用费用…

2026/10/10 13:26:26 阅读更多 →
大语言模型本地部署快速启动:从Transformer原理到Ollama与llama.cpp实战

大语言模型本地部署快速启动:从Transformer原理到Ollama与llama.cpp实战

1. 从零理解大语言模型快速启动的底层逻辑1.1 为什么“快速启动”不是一句空话很多人第一次接触大语言模型,脑子里冒出来的第一个念头就是“我要自己跑一个”。这个想法本身没问题,但问题在于,大部分人卡在第一步——环境还没搭好&#xff0c…

2026/10/10 13:26:26 阅读更多 →
幼小衔接拼音试卷带彩图:分层设计到Word排版一次搞定

幼小衔接拼音试卷带彩图:分层设计到Word排版一次搞定

简介:面向幼小衔接阶段孩子的带彩图拼音试卷,围绕单韵母、复韵母、后鼻韵母、音节拼写与看图连线等典型题型展开,适合幼儿园大班或学前班儿童在暑期、家庭辅导中使用,可帮助孩子系统巩固拼音基础,为入小学后的语文学习…

2026/10/10 13:26:26 阅读更多 →
基于WLS和蒙特卡洛的低压配电网状态估计与故障监测

基于WLS和蒙特卡洛的低压配电网状态估计与故障监测

低压配电网状态估计这块,早几年关注的人不算多,最近随着分布式光伏、充电桩大量接入,再加上供电可靠性要求越来越高,整个行业都开始往低压侧盯。但真上手做才发现,低压配电网和传统输电网完全是两种生物:量…

2026/10/10 13:26:25 阅读更多 →
VFP报表预览与导出利器:FoxyPreview安装配置与PDF/Excel/CSV实战

VFP报表预览与导出利器:FoxyPreview安装配置与PDF/Excel/CSV实战

简介:这是面向Visual FoxPro开发者的FoxyPreviewer报表导出工具最新版本,能够将VFP报表灵活输出为PDF、HTML、XLS、CSV、图片及RTF等格式,便于分享、归档与二次分析,适合需要增强VFP报表功能的开发人员使用。压缩包内含245个文件&…

2026/10/10 13:25:25 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →