Kali Linux新手入门:从普通账户到root提权及中文配置全攻略

发布时间:2026/9/29 10:11:15
Kali Linux新手入门:从普通账户到root提权及中文配置全攻略 很多刚装完Kali Linux的朋友第一次在终端里敲命令时都会卡在同一个地方安装的时候明明创建的是普通账户想装个软件、改个系统配置却被提示权限不够想切个中文界面又不知道从哪里下手——毕竟Kali默认是全英文看起来多少有点劝退。这篇文章就专门解决这两个问题第一怎么从普通账户拿到root管理员权限第二怎么让Kali系统界面正常显示中文、装上中文输入法。这里先说明一下适用范围。我用的是Kali Linux常规安装版默认桌面是GNOME无论你装在虚拟机、物理机还是WSL里只要是同一套系统下面的命令和操作流程基本都是通用的。文章会按“先理解权限设计 → 再讲拿root的几种方法 → 接着切换中文 → 最后给常见问题排查”这个顺序展开新手可以一步步照着做已经有一定基础的朋友可以直接跳到后半段看中文切换和避坑部分。1. 先把底层逻辑捋清楚Kali为什么默认拦住root1.1 Kali默认账户体系和权限模型很多从旧教程入手的朋友会有个印象Kali默认就是用root登录的图形界面一进去就是最高权限想干什么干什么。这个印象来自很早之前的Kali Live模式——确实以前的live CD启动后默认用户是root密码是toor桌面一进来就是管理员。但现在官方主流的安装版已经完全不是这个逻辑了。新版Kali安装过程中会让你创建一个普通用户比如最常见的用户名就是kali设置普通用户的登录密码然后整个系统默认不允许root直接登录图形界面。你没看错Kali现在是刻意把root“藏起来”的。为什么这么做很简单安全。root拥有系统最高权限可以删掉任何文件、改掉任何配置、执行任何命令一旦手滑轻则系统崩溃重则数据全无。用普通账户日常操作就好比平时在家只拿一把房间钥匙而不是把整栋楼的万能钥匙挂在腰上晃来晃去这是一种基本的防护习惯跟Kali是不是“黑客系统”根本没有关系。在Linux的权限模型里普通用户的UID通常是1000起步而root的UID固定是0。系统很多内核层面的能力只对UID 0开放比如安装内核模块、修改系统级配置文件、绑定低端口等。Kali里的安全测试工具也大量需要root权限——不是这些工具“故意要管理员”而是它们要读写网络接口、操作进程、读取硬件信息这些操作在Linux下被系统安全机制拦截只有root才能放行。所以问题就来了你需要root但系统默认不让你直接用root登录。那就得有合理的提权手段。1.2 root到底在什么时候必须要用搞清楚了“为什么不能一直用root”还得知道“什么时候必须用root”不然你会在两种极端之间摇摆。我见过不少新手要么吓得一步都不敢碰root要么干脆把所有操作都扔在root shell里这两个方向都不可取。需要root的场景其实很明确安装或卸载系统级软件包、更新软件源、修改/etc目录下的配置文件、管理用户、挂载磁盘、抓包、配置网络接口、查看系统日志部分日志普通用户看不了。这些操作不涉及“会不会用工具”而是“系统允不允许你碰”。一个典型例子在Kali里用apt安装工具如果当前用户不是root且在sudo组里就必须在前面加sudo否则会直接报Permission denied。反过来日常写代码、看文档、浏览网页、用文本编辑器改自己的文件这些完全不需要root。长期泡在root shell里最大的问题是你失去了系统给你的那层“保险”——本来你敲错一条rm -rf命令系统还会拦你一下root状态下直接就执行了。所以我的建议是下面要讲的每一种获取root的方法你都要会但日常使用选最安全、最克制的那一种。2. 从普通账户获取root权限的三种主流方法2.1 临时提权sudo命令最推荐日常使用sudo的全称是superuser do作用是以root身份单次执行某条命令。它的好处是“用完即走”只有当前这一条命令拥有最高权限执行完毕立刻回到普通用户身份。在Kali的常规安装流程里系统会自动把安装时创建的普通用户加入sudo组也就是说你第一次用sudo时不需要任何额外配置。比如你想更新软件源直接在终端里写sudo apt update输入当前普通用户的密码注意sudo要的是“你自己账户”的密码不是root密码回车就会执行。之后一段时间内再敲sudo系统可能还会再要一次密码或直接放行这取决于sudo的缓存设置默认15分钟内不重复验证。如果你需要连续执行多条管理员命令不想每条都敲sudo前缀可以用sudo -i或sudo su -进入一个真正的root shell执行完之后输入exit退回来。sudo -i会切换到root用户的环境变量相当于“以root身份重新登录”sudo su -则是在sudo加持下调用su命令殊途同归。我的习惯是只执行一两条命令时走sudo前缀要连续配置一堆东西时才sudo -i但干完活一定记得退出。这里有个容易踩的坑sudo是按“组成员身份”来授权的如果你的普通用户不在sudo组系统会提示“用户不在sudoers文件中”。遇到这种情况要么换个有权限的账户要么重启进恢复模式把自己加进sudo组后面会讲别硬磨。2.2 直接切换su - root前提是设置好root密码如果你就是想直接切到root身份用su命令是更直白的做法su - root回车后会提示输入root账户的密码验证通过就进入了root shell。注意这里要的是root自己的密码而Kali安装过程中通常并不会让你设置root密码——root账户一开始是处于“锁死”状态或者说不存在可用密码。这时候你敲su系统会提示认证失败su: Authentication failure很多新手在这一步直接懵掉以为系统坏了。解法很简单先通过sudo给自己设置一次root密码sudo passwd root系统会要求输入新的root密码并确认一次。设置成功后再执行su - root就能切过去了。还有个小细节su - root里的那个-短横线不是装饰它表示“切换用户的同时加载root用户的完整环境变量”比如PATH会变成root的默认路径当前目录也会切到/root。如果只敲su root不写-那你只是名义上变成了root但环境变量还残留着普通用户的配置有些命令可能找不到。习惯上我永远用su -省得后面出现各种“明明切了root命令却不存在”的奇怪问题。用su切换root和sudo临时提权之间怎么选看场景。sudo适合单条命令、零散操作安全性高su适合长时间维护、批量执行系统命令效率高但你在root shell里每敲一条命令都得自己负责。我的建议是日常用sudo维护时用su - root安全性在你的手上而非系统默认帮你挡一刀。2.3 应急方案忘记root密码或没有sudo权限时怎么办假如你遇到更棘手的场景既不知道root密码连普通用户也没进sudo组或者更惨——你连普通账户的登录密码都不记得了。这时候常规的sudo和su全部失效必须走系统恢复模式。Kali和多数Debian系系统一样开机时按住Shift或狂按Esc取决于你的GRUB版本可以进入GRUB启动菜单。在Kali GNU/Linux的启动项上按e进入编辑模式找到以linux开头的内核启动行在行末加上init/bin/bash然后按CtrlX或F10启动。系统会直接给你一个root shell但此时根文件系统是只读挂载的直接改密码会报错需要先重新挂载为可写mount -o remount,rw / passwd root执行passwd root输入两遍新密码然后重启系统root密码就改好了。如果你还想把普通用户收进sudo组可以在同一个shell里执行usermod -aG sudo kali把命令里的kali换成你自己的用户名。这个方法能解决90%的“进不了系统”问题。但请注意恢复模式下能拿到root shell也意味着任何能物理接触这台机器的人都能改掉你的密码所以物理安全平时也要上心。BitLocker、全盘加密、BIOS密码这些防护手段不是小题大做而是真的能挡住恢复模式这条路。三种获取root的方式我已经整理成一张表方便你按场景选用方式命令适用场景安全程度sudo临时提权sudo 命令单条管理操作、日常装包高权限用完即失效切换root shellsudo -i / sudo su -连续批量管理操作中需手动退出su直接切换su - root已设置root密码明确要长时间用root低全程不受限恢复模式改密启动时init/bin/bash忘记密码、无sudo权限取决于物理安全3. 给Kali系统切换中文一次做到位3.1 安装中文字体和语言包、更新软件源Kali默认全英文界面想切中文第一步不是去设置里选语言而是先把中文字体和语言包装上。这一步顺序如果反了你会看到界面上出现一堆方框乱码——中文没有对应的字体渲染系统只能给你画“豆腐块”。先更新软件源并安装必要组件sudo apt update sudo apt install locales fonts-noto-cjklocales是系统的语言环境管理工具fonts-noto-cjk是Google思源黑体系列的中日韩字体包装完之后中文在图形界面、终端、浏览器里都能正常渲染。Kali的软件源里默认就有这些包不需要额外添加第三方源。这一步通常要下载几百MB的内容视网络情况等待即可。比安装更关键的是生成中文locale。locale相当于系统的“语言区域”包含语言代码、字符编码、日期格式等。Kali安装时默认只生成了en_US.UTF-8中文区域的zh_CN.UTF-8并没有被“激活”。你可以执行dpkg-reconfigure locales在出现的对话框里用方向键找到zh_CN.UTF-8 UTF-8按空格选中再回车确认系统会自动生成对应的locale文件。终端里可以用locale -a命令查看当前系统支持的所有语言区域如果列表里有zh_CN.utf8就说明生成成功了。3.2 配置locale并设置中文环境变量生成locale只是让系统“有能力”显示中文你还得告诉系统“现在请用中文”。这一步可以走图形界面也可以直接改配置文件我更推荐后者因为效果明确、可回退而且方便排查问题。推荐用localectl命令统一设置系统语言sudo localectl set-locale LANGzh_CN.UTF-8这条命令会帮你在/etc/default/locale里写入LANGzh_CN.UTF-8。如果你喜欢手动管理也可以直接用vim或nano编辑这个文件LANGzh_CN.UTF-8改完配置文件后重启系统或注销重新登录语言才会生效。注意这里不要只改LANG其他LC_*变量保持默认让它们跟随LANG否则可能出现“终端界面是英文、文件名是英文、但个别输入法又变成中文”这种分裂状态。如果你之前动过LC_ALL建议改成和LANG一致。图形界面用户还有一个更直观的办法Settings设置→ Region Language区域与语言点Languages把中文中国添加进去然后按住拖动到第一位注销重新登录。这个操作本质上就是在帮你改locale设置但它是GNOME桌面层的覆盖设置生效优先级高于/etc/default/locale。也就是说如果两侧语言不一致可能界面还是英文。所以我自己一向是先把系统层的locale设置好再去桌面设置里确认双保险。3.3 图形界面切换中文与输入法配置系统语言切到中文后你会看到桌面UI、文件管理器、系统设置菜单全部变成中文。但这时还差临门一脚——中文输入法。Kali默认不会给你装拼音输入法。你可以在终端输入fcitx5配置工具检查如果没有就手动安装。目前Linux社区里比较稳定、体验也接近商业输入法的是fcitx5配合中州韵或拼音插件使用。安装命令sudo apt install fcitx5 fcitx5-chinese-addons装好后需要把输入法框架设置成fcitx5。Debian系系统有专门的切换工具im-configim-config -n fcitx5这会把fcitx5设为系统默认输入法框架并生成对应的环境变量配置。有些使用者会手动往~/.xprofile或/etc/environment里写GTK_IM_MODULEfcitx、QT_IM_MODULEfcitx、XMODIFIERSimfcitx这三行其实im-config已经帮你处理过了不必要再重复添加。除非你发现某个GUI程序死活调不出输入法再考虑手动补环境变量。设置完成后注销重新登录右上角应该会出现键盘图标。CtrlSpace切换中英文输入CtrlShift切换输入法方案。第一次配置拼音时可能需要在fcitx5设置界面里把“拼音”添加到输入法列表——打开Fcitx5配置点“添加输入法”取消“只显示当前语言”勾选找到拼音加到列表里保存。如果你是GNOME Wayland会话fcitx5在某些情况下候选框会不跟随光标这是个已知的兼容性问题。解决方式很粗暴登录界面点用户名右下方的齿轮图标选择“GNOME on Xorg”以X11会话登录输入法就基本正常了。Kali桌面用户老实说Xorg还是比Wayland省心。4. 常见问题与排查技巧实录4.1 sudo提示“无法解析主机名”怎么办执行sudo命令时如果报错sudo: unable to resolve host kali多半是/etc/hosts文件里没有当前主机名的映射。Kali安装时会给主机随机起一个名字比如kali、kali-2025取决于你在装系统时的设定但/etc/hosts里默认可能只有localhost。解决方法是编辑/etc/hosts127.0.0.1 localhost 127.0.1.1 kali第二行中的kali换成你的实际主机名。查看主机名用hostname命令。改完保存重新开一个终端就不会报错了。这个问题在虚拟机上尤其常见因为虚拟机的主机名可能在安装后被动过但hosts文件没有同步更新。4.2 su - root提示认证失败到底是哪个密码我收到过最多的提问就是这个。记住一条铁律sudo要的是当前普通账户的密码su要的是目标账户root的密码两者不是一回事。Kali安装全程没让你创建root密码root默认就是“无法直接登录”的状态。你必须先用sudo passwd root设置root密码之后su - root才能成功。千万别试着拿普通账户密码去怼su那永远都会认证失败。如果已经设置了root密码还是失败检查一下是不是CAPS LOCK开了、键盘布局是不是变成了美式英文以外的布局——Kali在设置键盘时如果选了法语或德语布局密码里的特殊字符往往会打不进去看起来就像密码错了。4.3 切换中文后出现乱码、豆腐块或部分界面仍是英文先说豆腐块□□□这是字体缺失装fonts-noto-cjk解决。再说部分界面英文这是典型的locale没完全生效要么/etc/default/locale还是en_US要么GNOME设置里的语言排序没有把中文排在第一位。打开/etc/default/locale确认LANGzh_CN.UTF-8再去Region Language里把中文挪到最顶上。如果这两个都对了但重启还是英文试试sudo dpkg-reconfigure locales重新选择zh_CN.UTF-8并设为默认再重启。还有一种情况终端里的中文显示成“????”一堆问号这是终端的字符编码没跟上。新开的终端窗口默认会用系统的UTF-8编码问题不大但如果是SSH远程连进来的客户端需要在终端软件里把编码手动改成UTF-8。4.4 一个迷惑性很强的坑数据库root和系统root不是一回事最后聊一个和“root”名字相关、但性质完全不同的坑。很多人在Kali里装了MariaDB或MySQL之后执行mysql -u root -p输入“自己刚设置的系统root密码”结果报错error 1045 (28000): Access denied for user rootlocalhost。然后就开始怀疑人生以为root权限白拿了。其实这个root和系统root没有任何关系。数据库服务器有自己的独立用户体系它内部的那个root用户是数据库的管理员密码默认是空的或者还没设置跟你在Linux终端里设置的root密码完全不互通。处理方式是先以系统root直接连接数据库sudo mysql在数据库提示符下给数据库root设置密码ALTER USER rootlocalhost IDENTIFIED BY 你的数据库密码; FLUSH PRIVILEGES;之后再用mysql -u root -p输的是数据库密码就通了。这个报错虽然不是Kali系统本身的问题但在Kali上特别常见因为很多人刚接触Linux时会把所有叫root的东西混为一谈。以后看到类似报错先停下来问自己一句这个root是哪个层面的root4.5 常见问题速查表现象原因解决方法sudo: unable to resolve host/etc/hosts缺少主机名映射编辑/etc/hosts加入127.0.1.1 主机名su - root提示认证失败root密码未设置或输入了普通账户密码sudo passwd root设置后再su中文显示成方框/乱码缺少中文字体sudo apt install fonts-noto-cjk重启后界面仍是英文locale未生效或GNOME语言排序不对检查/etc/default/locale语言列表把中文置顶输入法候选框不跟随光标Wayland会话兼容问题切到Xorg会话重试mysql -u root -p报1045混淆数据库root与系统rootsudo mysql进入后ALTER USER改数据库密码最后再分享一个我自己的使用习惯。切完中文、设置好root密码之后我平时并不会一直泡在root shell里而是保持普通账户登录需要装包、改配置时用sudo只有做批量维护时才临时切到root干完活马上exit。这套习惯帮我在Kali上避免了很多次“手滑把系统配置改坏”的尴尬——毕竟root账户是一把万能钥匙拿着它走路固然方便但真正的高手恰恰是懂得什么时候把钥匙收进抽屉里。Kali作为安全行业常用的测试系统配置好语言和权限只是第一步后面还有很多玩法等着你去探索但前提是先把基础环境打磨顺这比任何花哨工具都重要。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询