Portfolio sample

Linux Server Health Check — sample report

The figures below come from one real read-only run. Hostnames, IP addresses, and users were replaced with placeholders. Command output is the evidence excerpt captured on that run.

Summary

  • High 0
  • Medium 0
  • Low 2
  • OK 7
  • N/A 4

Check items

ItemRiskRecommendation
OS, kernel, uptime, and loadOKOS, kernel, uptime, and load were readable. Keep this snapshot with the rest of the report.
Disk usageOKEligible filesystems are at or below 70 percent. Flag filesystems above 85 percent as High and above 70 percent as Medium. Plan cleanup or growth before either band is reached. Pseudo filesystems are skipped.
Inode usageOKEligible filesystems are at or below 70 percent. Inode pressure uses the same bands: above 85 percent High, above 70 percent Medium. A full inode table blocks new files even when bytes remain.
Memory and swapLowMemory used above 90 percent is High and above 80 percent is Medium. Swap used above 80 percent is High and above 50 percent is Medium. No swap is Low when memory itself is fine, because a spike has nowhere to go.
Failed systemd unitsN/Asystemd is not the running init here, so failed units cannot be listed.
Listening TCP portsLowAt least one TCP port listens on a wildcard address. Confirm each listener is intentional and firewalled.
SSH root login and password authenticationN/ASSH settings could not be read. Skip this item or provide the files from the agreed account.
Pending package updatesOKLines that mention the security pocket are counted apart from other upgradable packages. More than 20 security lines is High, any security line is Medium, other pending packages are Low. Applying updates is outside this read-only check.
Time synchronizationN/Atimedatectl cannot query this environment because systemd is not available.
Recent OOM and kernel errorsOKNo OOM, panic, or matched kernel error in the excerpt. This is only the recent excerpt, not a full history.
World-writable files in /etcOKNo world-writable regular files were found under /etc on this filesystem.
Accounts with UID 0OKroot is the only UID 0 account in /etc/passwd.
Local certificate expiryN/ANo local server certificate was found under nginx, apache, letsencrypt, haproxy, or the private SSL directory. Public CA stores were not treated as server certificates.

Prioritized recommendations

  • Low. Memory and swap: Memory used above 90 percent is High and above 80 percent is Medium. Swap used above 80 percent is High and above 50 percent is Medium. No swap is Low when memory itself is fine, because a spike has nowhere to go.
  • Low. Listening TCP ports: At least one TCP port listens on a wildcard address. Confirm each listener is intentional and firewalled.

Evidence

OS, kernel, uptime, and load

uname -srmv; uptime; cat /proc/loadavg; awk /etc/os-release

os-release:
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION="13 (trixie)"
uname: Linux 6.12.94+ #1 SMP PREEMPT_DYNAMIC Fri Oct 16 00:53:04 UTC 2026 x86_64
uptime:  10:04:34 up  5:04,  0 users,  load average: 4.09, 3.83, 3.19
loadavg: 4.09 3.83 3.19 3/2709 314901

Disk usage

df -PT

Filesystem     Type     1024-blocks     Used Available Capacity Mounted on
/dev/vdb       ext4       131063268 81159004  49887880      62% /
devtmpfs       devtmpfs     8191116        0   8191116       0% /dev
shm            tmpfs        8193184        0   8193184       0% /dev/shm

Inode usage

df -PiT

Filesystem     Type      Inodes   IUsed   IFree IUse% Mounted on
/dev/vdb       ext4     8388608 1820810 6567798   22% /
devtmpfs       devtmpfs 2047779     322 2047457    1% /dev
shm            tmpfs    2048296       1 2048295    1% /dev/shm

Memory and swap

awk /proc/meminfo

MemTotal_kB 16386368
MemAvailable_kB 5684008
SwapTotal_kB 0
SwapFree_kB 0
mem_used_pct 65
swap_used_pct none

Failed systemd units

systemctl list-units --state=failed --no-legend --plain --no-pager

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to system scope bus via local transport: Host is down

Listening TCP ports

ss -tlnp

State  Recv-Q Send-Q Local Address:Port  Peer Address:PortProcess                                   
LISTEN 0      4096       127.0.0.1:5678       0.0.0.0:*                                             
LISTEN 0      32         127.0.0.1:5905       0.0.0.0:*    users:(("x11vnc",pid=243352,fd=8))       
LISTEN 0      32         127.0.0.1:5907       0.0.0.0:*    users:(("x11vnc",pid=232272,fd=8))       
LISTEN 0      32         127.0.0.1:5906       0.0.0.0:*    users:(("x11vnc",pid=233641,fd=8))       
LISTEN 0      32         127.0.0.1:5900       0.0.0.0:*    users:(("x11vnc",pid=2813,fd=8))         
LISTEN 0      32         127.0.0.1:5903       0.0.0.0:*    users:(("x11vnc",pid=307563,fd=8))       
LISTEN 0      32         127.0.0.1:5902       0.0.0.0:*    users:(("x11vnc",pid=84169,fd=8))        
LISTEN 0      100          0.0.0.0:6081       0.0.0.0:*    users:(("websockify",pid=204,fd=3))      
LISTEN 0      100          0.0.0.0:6080       0.0.0.0:*    users:(("websockify",pid=2840,fd=3))     
LISTEN 0      4096       127.0.0.1:8088       0.0.0.0:*                                             
LISTEN 0      4096       127.0.0.1:18081      0.0.0.0:*                                             
LISTEN 0      10         127.0.0.1:9224       0.0.0.0:*    users:(("chrome",pid=91348,fd=84))       
LISTEN 0      10         127.0.0.1:9227       0.0.0.0:*    users:(("chrome",pid=244382,fd=78))      
LISTEN 0      10         127.0.0.1:9228       0.0.0.0:*    users:(("chrome",pid=244823,fd=87))      
LISTEN 0      128          0.0.0.0:8790       0.0.0.0:*    users:(("sand-egress-tun",pid=348,fd=9)) 
LISTEN 0      128          0.0.0.0:50052      0.0.0.0:*                                             
LISTEN 0      5          127.0.0.1:8766       0.0.0.0:*    users:(("python3",pid=104294,fd=5))      
LISTEN 0      2048       127.0.0.1:8787       0.0.0.0:*    users:(("python",pid=5417,fd=9))         
LISTEN 0      128        127.0.0.1:8791       0.0.0.0:*    users:(("sand-egress-tun",pid=348,fd=10))
LISTEN 0      511          0.0.0.0:1340       0.0.0.0:*    users:(("node",pid=9579,fd=79))          
LISTEN 0      511          0.0.0.0:1339       0.0.0.0:*    users:(("node",pid=227,fd=21))           
LISTEN 0      128          0.0.0.0:26500      0.0.0.0:*                                             
LISTEN 0      5            0.0.0.0:2375       0.0.0.0:*                                             
... truncated ...

SSH root login and password authentication

sshd -T || read /etc/ssh/sshd_config

sshd and sshd_config not available

Pending package updates

apt list --upgradable

upgradable_count 0
security_mentions 0

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Listing...

Time synchronization

timedatectl status

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to system scope bus via local transport: Host is down

Recent OOM and kernel errors

dmesg

source: dmesg
[Tue Oct 20 05:00:26 2026] Linux version 6.12.94+ (root@0a07c1601064) (gcc (Debian 12.2.0-14+deb12u1) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Fri Oct 16 00:53:04 UTC 2026
[Tue Oct 20 05:00:26 2026] Command line: console=ttyS0 root=/dev/vda random.trust_cpu=on ip=192.0.2.1::192.0.2.2:255.255.255.0::eth0:off rw loglevel=7 earlyprintk=ttyS0 print-fatal-signals=1 systemd.unified_cgroup_hierarchy=1 systemd.setenv=SWAP_SIZE_MB=0 reboot=k panic=1 nomodule i8042.noaux=1 i8042.nomux=1 i8042.dumbkbd=1 clocksource=kvm-clock tsc=unstable nosoftlockup root=/dev/vda rw
[Tue Oct 20 05:00:26 2026] KASLR disabled
[Tue Oct 20 05:00:26 2026] x86/split lock detection: #DB: warning on user-space bus_locks
[Tue Oct 20 05:00:26 2026] BIOS-provided physical RAM map:
[Tue Oct 20 05:00:26 2026] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[Tue Oct 20 05:00:26 2026] BIOS-e820: [mem 0x000000000009fc00-0x00000000000fffff] reserved
[Tue Oct 20 05:00:26 2026] BIOS-e820: [mem 0x0000000000100000-0x00000000bfffffff] usable
[Tue Oct 20 05:00:26 2026] BIOS-e820: [mem 0x00000000eec00000-0x00000000febfffff] reserved
[Tue Oct 20 05:00:26 2026] BIOS-e820: [mem 0x0000000100000000-0x000000043fffffff] usable
[Tue Oct 20 05:00:26 2026] printk: legacy bootconsole [earlyser0] enabled
[Tue Oct 20 05:00:26 2026] NX (Execute Disable) protection: active
[Tue Oct 20 05:00:26 2026] APIC: Static calls initialized
[Tue Oct 20 05:00:26 2026] DMI not present or invalid.
[Tue Oct 20 05:00:26 2026] Hypervisor detected: KVM
[Tue Oct 20 05:00:26 2026] last_pfn = 0xc0000 max_arch_pfn = 0x400000000
[Tue Oct 20 05:00:26 2026] kvm-clock: Using msrs 4b564d01 and 4b564d00
[Tue Oct 20 05:00:26 2026] kvm-clock: using sched offset of 51153483 cycles
[Tue Oct 20 05:00:26 2026] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[Tue Oct 20 05:00:26 2026] tsc: Detected 2400.000 MHz processor
[Tue Oct 20 05:00:26 2026] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[Tue Oct 20 05:00:26 2026] e820: remove [mem 0x000a0000-0x000fffff] usable
[Tue Oct 20 05:00:26 2026] last_pfn = 0x440000 max_arch_pfn = 0x400000000
... truncated ...

World-writable files in /etc

find /etc -xdev -type f -perm -0002 -print

count 0
(none)

Accounts with UID 0

awk -F: '$3==0 {print $1}' /etc/passwd

root

Local certificate expiry

openssl x509 -noout -enddate -in CERT

no local leaf certificates found under the usual server paths

Service boundary

Included

  • The read-only checks listed in this report
  • This written report
  • Prioritized recommendations

Not included

  • Any change to the system
  • Fixes, package installs, or service restarts
  • Access beyond the agreed read-only account

Read-only. No changes are made to your system without written approval.

只读检查,未经书面批准不对系统做任何改动。

Chinese text uses Noto Sans CJK SC, which fc-list :lang=zh shows on the machine that rendered this PDF.