Parallels Desktop 中的 Kali Linux:安装、快照与 Linux 常用命令
本文目录
这篇手册专门讲 macOS 上用 Parallels Desktop 运行 Kali Linux,以及日常 Linux 命令、更新和故障定位。它和通用 Linux 命令速查互补:这里重点说明虚拟机、Kali 包管理和安全实验边界,不重复穷举服务器运维命令。
命令行没有一个能列尽所有命令的固定大全:程序可以安装新命令,选项也会随版本变化。下面收录的是常用、可解释、可在自己的 VM 里练习的一组起点;每条命令的本机手册和 --help 才是当前版本的最终依据。
先分清主机、虚拟机和目标
- Mac 主机:真实文件、密码管理器、浏览器会话和其他工作软件所在的系统。
- Kali 客户机:运行在 Parallels 里的 Linux 系统;它有自己的文件、用户、网络接口和更新周期。
- 实验目标:只有你拥有或拿到明确书面许可的设备、练习靶场或本机服务。VM 并不会自动让对外连接变成安全或已获授权。
虚拟机隔离能降低误操作影响,但共享目录、剪贴板、拖放和网络仍可能连到主机或局域网。只在确实需要时打开集成功能;不要把主机密钥、公司文件或浏览器数据挂载进安全实验 VM。
安装与镜像校验
Apple Silicon Mac 的虚拟机应选 Kali 官方提供的 Apple Silicon(ARM64) 镜像;不要把 Intel x86_64 镜像当成同一种架构。下载前从Kali 官方下载页选择安装镜像,并同时取回同目录的 SHA256SUMS 与签名文件。先按Kali 镜像安全校验说明确认签名,再核对镜像哈希:
gpg --verify SHA256SUMS.gpg SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing
不同镜像目录的签名文件名可能略有差别,使用下载目录实际提供的文件,并按官方说明核对签名密钥指纹。签名或哈希不匹配就停止,不要启动镜像。
Parallels 的界面可能随版本调整;Kali 官方当前的Parallels 客机安装指引给出的流程是:新建虚拟机,选择从 DVD/镜像安装,手动选 Kali ISO;如果系统未被自动识别,继续向导;该指引建议选择 Ubuntu 客机配置以避开当时的 Parallels Tools 问题。具体选项应以最新 Kali 指引和当前 Parallels 版本为准,不要把旧教程中的按钮位置当成永远不变。
资源配置按 Mac 内存、并行运行的应用、桌面环境和工具选择。默认安装并按需加装,比一次装入全部安全工具更容易维护。首次更新、改网络、安装 guest tools 或更换内核前先创建 Parallels 快照;快照用于快速回到某个 VM 状态,不是异机备份。迁移电脑前正常关机,另行备份完整虚拟机包,并确认备份能恢复。
首次启动:先确认系统状态
先看系统版本、CPU 架构、磁盘和网络,不要猜安装镜像是否匹配:
cat /etc/os-release
uname -a
dpkg --print-architecture
df -h /
free -h
ip -br addr
ip route
Apple Silicon 宿主通常应看到 arm64/aarch64 来宾架构;如果实际输出不同,以正在运行的 VM 信息为准。共享网络适合常规更新;专用 host-only 网络更适合只在本机 VM 间练习。桥接模式会让客机直接出现在所在局域网,除非确有需求且网络负责人允许,否则不要开。
Kali 更新与软件安装
Kali 是滚动发行版,更新可能调整依赖甚至移除软件。先建立快照、阅读 APT 计划,再确认是否执行:
sudo apt update
apt list --upgradable
sudo apt -s full-upgrade
-s 是模拟,不会实际安装。仔细检查模拟结果,特别是移除列表;不理解某项变化时先停止并查明原因。确认可回退后再交互执行 sudo apt full-upgrade,不要习惯性添加 -y。
Kali 官方仓库说明显示,2026.2 起的新安装使用 /etc/apt/sources.list.d/kali.sources;更早安装可能仍使用 /etc/apt/sources.list。先查看当前文件,再按该版本官方说明处理,不要同时粘贴两套源,也不要添加 Ubuntu PPA、随机镜像或把 Kali 仓库混进 macOS/Ubuntu。新增常用包前可先看说明:
apt search package-name
apt show package-name
sudo apt install package-name
dpkg -l
移除包用 sudo apt remove package-name;清理依赖前先查看 APT 将执行的变更,不要把 autoremove 当成无风险按钮。Python 项目优先用虚拟环境或 pipx,不要为了一个脚本直接覆盖 Kali 的系统 Python 包。
用户、权限与 sudo 边界
Kali 2020.1 起默认使用有 sudo 权限的普通用户,而不是要求日常以 root 登录。先确认当前身份,再按需给单条管理命令提权:
id -un
id -u
sudo -v
sudo systemctl --failed
journalctl -b -p warning --no-pager
id -u 输出 0 代表当前就是 root;否则使用 sudo command ... 执行确实需要管理员权限的命令。不要给每条命令机械加 sudo,也不要为了省事启用 root 图形登录或密码免验证。sudo -v 会按系统策略验证当前用户凭据,不会替你执行后续命令。
预构建 VM 镜像可能采用官方文档说明的初始登录方式。首次启动后先查阅Kali 当前默认凭据说明,并在连接桥接网络或不可信网络前修改初始密码;这里不重复公布默认值。自己从 ISO 安装时则使用安装向导创建的账户。
Linux 命令速查
位置、目录和文件
| 目标 | 命令 | 说明 |
|---|---|---|
| 当前目录 | pwd | 显示绝对路径 |
| 列出文件 | ls -lah | 显示隐藏项、权限和人类可读大小 |
| 回到上个目录 | cd - | 在两个最近目录间切换 |
| 创建目录 | mkdir -p notes/lab | 父目录不存在时一并创建 |
| 查找文件 | find "$HOME" -type f -name '*.txt' -print | 先用只读 -print 看结果 |
| 识别文件 | file sample.bin | 查看内容类型,不依赖扩展名 |
| 复制/移动 | cp -a source backup、mv -i old new | -a 尽量保留属性,-i 覆盖前询问 |
删除前先列出目标并确认备份。练习时可用 rm -i file;不要把 rm -rf、通配符和未经核对的变量拼在一起。
阅读、搜索和组合
less /var/log/dpkg.log
head -n 20 file.txt
tail -n 100 /var/log/syslog
grep -n 'error' app.log
find . -type f -name '*.md' -print
wc -l file.txt
sort names.txt | uniq -c
管道 | 把左侧输出交给右侧;> 会覆盖文件、>> 会追加、2> 会重定向错误输出。第一次练习重定向时写入临时目录,避免覆盖配置或日志。man grep、grep --help 和 apropos network 用于查本机帮助。
权限与用户
id
groups
stat -c '%A %U:%G %n' notes.txt
umask
chmod 600 private-note.txt
权限 rwx 分别表示读、写、执行;目录的 x 表示可进入。chmod 600 让当前所有者读写、其他用户无权访问。需要系统操作时才加 sudo,运行前检查目标路径;不要用 chmod -R 777 或不明来源的 sudo 脚本“修复权限”。
资源、进程和服务
df -h
du -sh "$HOME"/* 2>/dev/null
free -h
ps -eo pid,ppid,user,%cpu,%mem,etime,cmd --sort=-%cpu | head -n 15
top
systemctl status NetworkManager
journalctl -u NetworkManager --since '15 minutes ago' --no-pager
Kali 为安全默认可能让部分网络服务保持关闭。用到某服务时先确认名字和用途,再看 systemctl status service-name 与日志;只在确有需要时启动。不要因一个端口在监听就直接结束 PID,先查清进程、父进程、用户和启动来源。
网络诊断
ip -br addr
ip route
getent hosts http.kali.org
ss -lnt
curl -I --max-time 10 https://www.kali.org/
按顺序判断客机是否拿到地址、是否有默认路由、DNS 能否解析、TCP/TLS/HTTP 是否成功。ping 不通不等于 HTTPS 不通;curl -k 会跳过证书校验,不能当成证书问题的修复。端口与地址查询只针对自己的 VM 和获准的网络。
哈希、归档和磁盘
sha256sum file.iso
tar -czf lab-notes.tar.gz lab-notes/
tar -tzf lab-notes.tar.gz
df -h /
哈希只能检查文件是否与可信来源给出的值一致,不能替代可信来源本身。解压不明压缩包前用 tar -tzf 查看路径列表;不要把陌生文件直接解到系统目录。VM 磁盘空间紧张时,先用 df 和 du 找大目录,不要手动删除 /var/lib/dpkg 或 APT 状态文件。
一个安全的本机练习
这个小实验只在 Kali 客机自己的 loopback 地址上启动 HTTP 服务,不对局域网开放:
mkdir -p "$HOME/lab/http"
cd "$HOME/lab/http"
printf 'hello from my Kali VM\n' > index.html
python3 -m http.server 8000 --bind 127.0.0.1
另开一个终端检查:
curl -I http://127.0.0.1:8000/
ss -lnt | grep ':8000'
回到服务终端按 Ctrl-C 结束,再用 ss -lnt 确认端口不再监听。这个练习串起目录、文件、前台进程、loopback、HTTP 和端口排查,不需要访问任何第三方目标。
维护与恢复原则
- 做系统升级、换网络模式或安装内核/桌面组件前创建快照。
- 先看
apt -s full-upgrade和磁盘剩余空间,再决定要不要真正变更。 - 遇到启动或网络故障时一次只改一个设置,并记下原值;快照回退前先确认实验文件是否需要保留。
- 把需要长期保存的笔记复制到受保护的主机备份位置;不要只依赖 VM 快照。
- 安全测试只在明确授权的自有实验范围内进行。Kali 不是授权凭证,也不是通用桌面系统的默认推荐。
官方资料
Live Notes
留言提交后会先进入审核,审核通过后对其他读者公开。