返回顶部
L

Linux

Operate Linux systems avoiding permission traps, silent failures, and common admin mistakes.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
2,916
下载量
5
收藏
概述
安装方式
版本历史

Linux

# Linux Gotchas ## Permission Traps - `chmod 777` fixes nothing, breaks everything — find the actual owner/group issue - Setuid on scripts is ignored for security — only works on binaries - `chown -R` follows symlinks outside target directory — use `--no-dereference` - Default umask 022 makes files world-readable — set 077 for sensitive systems - ACLs override traditional permissions silently — check with `getfacl` ## Process Gotchas - `kill` sends SIGTERM by default, not SIGKILL — process can ignore it - `nohup` doesn't work if process already running — use `disown` instead - Background job with `&` still dies on terminal close without `disown` or `nohup` - Zombie processes can't be killed — parent must call wait() or be killed - `kill -9` skips cleanup handlers — data loss possible, use SIGTERM first ## Filesystem Traps - Deleting open file doesn't free space until process closes it — check `lsof +L1` - `rm -rf /path /` with accidental space = disaster — use `rm -rf /path/` trailing slash - Inodes exhausted while disk shows space free — many small files problem - Symlink loops cause infinite recursion — `find -L` follows them - `/tmp` cleared on reboot — don't store persistent data there ## Disk Space Mysteries - Deleted files held open by processes — `lsof +L1` shows them, restart process to free - Reserved blocks (5% default) only for root — `tune2fs -m 1` to reduce - Journal eating space — `journalctl --vacuum-size=500M` - Docker overlay eating space — `docker system prune -a` - Snapshots consuming space — check LVM, ZFS, or cloud provider snapshots ## Networking - `localhost` and `127.0.0.1` may resolve differently — check `/etc/hosts` - Firewall rules flushed on reboot unless saved — `iptables-save` or use firewalld/ufw persistence - `netstat` deprecated — use `ss` instead - Port below 1024 requires root — use `setcap` for capability instead - TCP TIME_WAIT exhaustion under load — tune `net.ipv4.tcp_tw_reuse` ## SSH Traps - Wrong permissions on ~/.ssh = silent auth failure — 700 for dir, 600 for keys - Agent forwarding exposes your keys to remote admins — avoid on untrusted servers - Known hosts hash doesn't match after server rebuild — remove old entry with `ssh-keygen -R` - SSH config Host blocks: first match wins — put specific hosts before wildcards - Connection timeout on idle — add `ServerAliveInterval 60` to config ## Systemd - `systemctl enable` doesn't start service — also need `start` - `restart` vs `reload`: restart drops connections, reload doesn't (if supported) - Journal logs lost on reboot by default — set `Storage=persistent` in journald.conf - Failed service doesn't retry by default — add `Restart=on-failure` to unit - Dependency on network: `After=network.target` isn't enough — use `network-online.target` ## Cron Pitfalls - Cron has minimal PATH — use absolute paths or set PATH in crontab - Output goes to mail by default — redirect to file or `/dev/null` - Cron uses system timezone, not user's — set TZ in crontab if needed - Crontab lost if edited incorrectly — `crontab -l > backup` before editing - @reboot runs on daemon restart too, not just system reboot ## Memory and OOM - OOM killer picks "best" victim, often not the offender — check dmesg for kills - Swap thrashing worse than OOM — monitor with `vmstat` - Memory usage in `free` includes cache — "available" is what matters - Process memory in `/proc/[pid]/status` — VmRSS is actual usage - cgroups limit respected before system OOM — containers die first ## Commands That Lie - `df` shows filesystem capacity, not physical disk — check underlying device - `du` doesn't count sparse files correctly — file appears smaller than disk usage - `ps aux` memory percentage can exceed 100% (shared memory counted multiple times) - `uptime` load average includes uninterruptible I/O wait — not just CPU - `top` CPU percentage is per-core — 400% means 4 cores maxed

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 linux-1776329670 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 linux-1776329670 技能

通过命令行安装

skillhub install linux-1776329670

下载 Zip 包

⬇ 下载 Linux v1.0.0

文件大小: 2.67 KB | 发布时间: 2026-4-17 15:33

v1.0.0 最新 2026-4-17 15:33
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部