Ubuntu 用户管理完整指南:从创建到权限管理
Ubuntu 用户管理完整指南:从创建到权限管理
Ubuntu是Linux发行版中最广泛使用的操作系统之一,也是服务器和开发环境的首选。在Ubuntu中,用户管理是一个关键要素,对于系统的安全性和运行效率至关重要。本文将详细介绍如何在Ubuntu中创建用户、授予sudo权限以及删除不再需要的用户。通过本文,您将能够熟练掌握Ubuntu的用户管理,提升系统的安全性和运行效率。
1. 简介
Ubuntu是Linux发行版中最广泛使用的操作系统之一,也深受服务器与开发环境的欢迎。在其中,“用户管理”是一个关键要素,对于系统的安全性和运行效率至关重要。
本篇文章将详细说明如何在Ubuntu中建立用户,并介绍GUI(图形化界面)与指令列(CLI)两种方式。此外,我们也会说明如何授予用户sudo权限,以及删除不再需要的用户的步骤。
阅读本文后,您将能够顺利管理Ubuntu的用户,提升系统的安全性和运行效率。
2. 使用GUI建立与管理用户(适合初学者)
对于不熟悉Linux的初学者而言,使用Ubuntu的GUI(图形化用户界面)来建立用户是一种简单且直观的方式。特别是使用桌面环境时,通过GUI进行管理较为直观,推荐使用此方法。
2.1 使用GUI建立新用户
- 打开“设置”菜单
- 点击屏幕左上角的“活动”,搜索“设置”,并开启它。
- 在“设置”菜单中,点击“用户”选项。
- 新增用户
- 点击画面右上角的“新增用户”按钮。
- 选择“管理员”或“标准用户”。
- 输入用户名、完整名称和密码。
- 完成建立
- 点击“新增”按钮,等待用户建立完成。
- 建立完成的用户将显示在列表中。
重点提示:
- 标准用户无法变更系统的关健设置。
- 管理员用户拥有sudo权限,可进行系统管理。
2.2 使用GUI设定sudo权限
如果要建立具有sudo权限的用户,只需选择“管理员”选项即可。然而,如果要为现有用户新增sudo权限,请按照以下步骤进行:
- 在“设置”菜单中开启“用户”选项
- 选择要修改的用户
- 勾选“管理员”选项
- 点击“套用”以保存变更
完成上述步骤后,该用户将获得sudo权限。
2.3 使用GUI删除用户
若要删除不再需要的用户,请依照以下步骤操作:
- 在“设置”菜单中开启“用户”选项
- 选择要删除的用户
- 点击“删除”按钮
- 选择是否删除该用户的主目录资料
- 确认删除
注意事項:
- 删除用户后,可能会一并删除其主目录资料,请务必确认。
- 如有必要,请先备份重要资料,以免遗失。
3. 使用指令列(CLI)建立用户(适合中级与管理者)
在Ubuntu中,通过指令列(Command Line Interface,CLI)可以更细致地设定用户信息。当管理服务器或进行远程操作时,通常必须使用CLI,而非GUI。因此,熟悉CLI操作将非常有帮助。
本节将详细解释在Ubuntu中建立用户的主要指令,包括adduser
与useradd
的差异及使用方式。
3.1 使用adduser
指令建立用户
adduser
指令的基本概念
在Ubuntu中,可以使用adduser
指令来简单建立新用户。这是一个互动式的指令,只需按照提示输入必要信息即可建立用户账号。
操作步骤
- 开启终端机(按下
Ctrl + Alt + T
或使用SSH连线)。 - 执行以下指令:
sudo adduser 新用户名称
- 系统会要求输入一些信息,请依指示输入:
- 设定密码(必填)。
- 输入完整名称、电话号码等信息(可跳过)。
- 最后,系统会显示“信息正确吗?(按‘Y’确认)”,确认后请输入“Y”。
执行范例
Adding user `testuser' ...
Adding new group `testuser' (1001) ...
Adding new user `testuser' (1001) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
Full Name []: Test User
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
3.2 useradd
指令的差异
在Ubuntu中,除了adduser
之外,还可以使用useradd
指令来建立用户。不过,useradd
是较低阶的指令,预设不会建立用户的家目录。
useradd
指令的基本用法
执行以下指令来建立新用户:
sudo useradd -m -s /bin/bash 新用户名称
指令选项说明:
-m
:自动建立家目录(若未加此选项,则不会建立)。-s /bin/bash
:设定默认Shell为Bash。
使用useradd
需要注意的事项
- 家目录预设不会建立→必须加上
-m
参数。 - 密码预设未设定→需额外使用
passwd
指令来设定密码。 - 相较于
adduser
,需要进行更多手动设定。
如何选择适合的指令?
指令 | 家目录 | 密码设定 | 适用情境 |
---|---|---|---|
adduser | 自动建立 | 可直接设定 | 一般用户建立 |
useradd | 不会自动建立(需加-m) | 需额外使用 passwd 设定 | 需进行细部控制时 |
一般来说,建议使用adduser
,因为它的使用较为直观、易于使用。而useradd
则适合进行更细致的控制,例如在批处理脚本中使用。
4. 设定与移除sudo权限
在Ubuntu中,可以将一般用户设定为管理员(sudo用户),使其能够执行系统管理相关的指令,例如安装软件、修改设置或管理用户等。
本节将说明如何授予与移除sudo权限,并提供管理员用户的最佳实践方式。
4.1 授予sudo权限的方法
方法1:使用usermod
指令将用户加入sudo群组
最简单的方式是使用usermod
指令,将用户加入sudo
群组:
步骤:
- 打开终端机
- 执行以下指令:
sudo usermod -aG sudo 用户名称
- 登出并重新登入,以应用变更
- 确认是否成功拥有sudo权限
groups 用户名称
若输出结果包含sudo
,代表设定成功。
方法2:使用gpasswd
指令手动加入sudo群组
也可以使用gpasswd
指令来新增用户至sudo群组:
sudo gpasswd -a 用户名称 sudo
此方法与usermod
指令的效果相同。
4.2 移除sudo权限的方法
方法1:使用deluser
指令
要移除用户的sudo权限,可以使用以下指令:
sudo deluser 用户名称 sudo
执行后,该用户将不再拥有管理权限。
方法2:使用gpasswd
指令
也可以通过gpasswd
指令来移除sudo权限:
sudo gpasswd -d 用户名称 sudo
如何确认sudo权限已被移除?
可以使用以下指令来检查该用户是否仍属于sudo群组:
groups 用户名称
若结果中没有sudo
,代表该用户已成功被移除管理权限。
4.3 sudo权限管理的安全性注意事项
- 避免给予不必要的用户sudo权限:拥有sudo权限的用户能够更改系统设置,过多的管理员可能会带来安全风险。
- 避免直接使用root账户:建议通过sudo执行管理操作,而非直接登入root用户。
- 定期检查sudo指令的使用记录:
cat /var/log/auth.log | grep sudo
通过检查sudo的操作记录,可以监控是否有异常的管理行为。
5. 删除用户的方法
在Ubuntu中,删除不再需要的用户时,除了移除账号外,还需要适当处理用户的家目录与相关群组。
本节将说明如何使用deluser
与userdel
指令来删除用户,并介绍删除时应注意的事项。
5.1 使用deluser
指令删除用户
要删除指定的用户,可以执行以下指令:
sudo deluser 用户名称
✅执行范例:
$ sudo deluser testuser
Removing user `testuser' ...
Warning: group `testuser' has no more members.
Done.
此指令会删除用户账号,但不会删除其家目录。
5.2 删除用户并移除家目录
若要删除用户的同时一并删除家目录,请使用以下指令:
sudo deluser --remove-home 用户名称
✅执行范例:
$ sudo deluser --remove-home testuser
Removing user `testuser' ...
Removing home directory `/home/testuser' ...
Done.
🚨注意事項:
删除的资料无法恢复,请先备份重要档案:
tar -czf /backup/testuser_backup.tar.gz /home/testuser
5.3 使用userdel
指令删除用户
另一种方法是使用userdel
指令:
sudo userdel 用户名称
若要删除用户并同时删除家目录,请使用:
sudo userdel -r 用户名称
5.4 处理删除用户后残留的文件
即使删除用户账号,该用户的某些文件仍可能残留在系统中。可以使用以下指令来寻找这些文件:
sudo find / -uid $(id -u 删除的用户名称) 2>/dev/null
若确定这些文件不再需要,可以执行以下指令来删除:
sudo find / -uid $(id -u 删除的用户名称) -exec rm -rf {} \;
🚨注意:
执行前请务必检查,以免误删重要文件。
6. 查询用户与群组的方法
在Ubuntu中,管理者需要定期确认系统内的用户与群组,以确保适当的权限管理。本节将介绍如何查询系统中的用户与群组信息。
6.1 查询系统内的用户列表
方法1:检视/etc/passwd
文件
在Ubuntu中,/etc/passwd
文件记录了系统内的所有用户账号信息。可以使用以下指令检视所有用户:
cat /etc/passwd
✅范例输出:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
testuser:x:1001:1001:Test User,,,:/home/testuser:/bin/bash
方法2:使用getent
指令
可以使用getent
指令来获取与/etc/passwd
相同的资讯:
getent passwd
若只想查询特定用户:
getent passwd testuser
6.2 查询群组列表
方法1:检视/etc/group
文件
可以使用以下指令来检视所有群组:
cat /etc/group
方法2:查询特定群组的成员
如果想知道某个群组内有哪些用户,可以使用:
getent group sudo
✅范例输出:
sudo:x:27:user1,user2,testuser
6.3 查询特定用户的群组
若要查询某个用户所属的群组,可以使用:
groups 用户名称
✅范例输出:
testuser : testuser sudo developers
或使用id
指令来获取更详细的信息:
id 用户名称
✅范例输出:
uid=1001(testuser) gid=1001(testuser) groups=1001(testuser),27(sudo),1002(developers)
7. 常见问题(FAQ)
在管理Ubuntu用户时,初学者可能会遇到一些常见问题。本节将解答有关用户建立、sudo权限设定、删除与群组管理的常见问题。
7.1 adduser
与useradd
有什么不同?
✅adduser
的特点:
- 互动式操作,较容易使用。
- 会自动建立用户的家目录。
- 可直接设定密码。
✅useradd
的特点:
- 较低阶的指令,需要手动设定。
- 不会自动建立家目录(需加上
-m
参数)。 - 预设不会设定密码(需使用
passwd
指令设定)。
✅应该选择哪一个?
一般情况下,建议使用adduser
,因为它的使用较为简单且自动化。而useradd
适合批处理建立账号或需要细节控制时使用。
7.2 如何授予用户sudo权限?
执行以下指令,将用户加入sudo
群组:
sudo usermod -aG sudo 用户名称
然后登出并重新登入,以应用变更。
7.3 删除sudo用户后会发生什么事?
执行以下指令可移除sudo权限:
sudo deluser 用户名称 sudo
如果系统内没有其他sudo用户,则可能会无法进行管理操作,因此请谨慎执行。
7.4 为什么删除用户后仍然留有文件?
即使删除用户账号,该用户的文件可能仍然保留在系统中。可以使用以下指令来查找:
sudo find / -uid $(id -u 删除的用户名称) 2>/dev/null
若确定不再需要这些文件,可以删除:
sudo find / -uid $(id -u 删除的用户名称) -exec rm -rf {} \;
🚨注意:
请先确认文件内容,以免误删重要资料。
8. 总结
本篇文章详细介绍了Ubuntu用户管理的基本与进阶操作,包括用户建立、sudo权限管理、删除账号、群组管理等系统管理必备技能。
8.1 主要重点回顾
1. 建立用户
✅ 使用GUI(适合初学者):
通过“设置”→“用户”→“新增”即可轻松建立账号。
✅ 使用CLI(适合中级与进阶用户):
sudo adduser 用户名称
2. 授予sudo权限
sudo usermod -aG sudo 用户名称
3. 删除用户
sudo deluser 用户名称 --remove-home
4. 查询用户与群组
cat /etc/passwd
cat /etc/group
8.2 提高用户管理效率的最佳实践
1️⃣定期清理不再需要的用户:避免过多的账号影响系统管理和安全性。
2️⃣最小化sudo权限的用户数量:只授予必要的管理权限,减少潜在风险。
3️⃣定期监控sudo操作记录:可通过以下指令检查sudo使用历史:
cat /var/log/auth.log | grep sudo
4️⃣确保重要资料有备份:可使用以下指令备份用户的主目录:
tar -czf /backup/用户名称.tar.gz /home/用户名称
8.3 最后的建议
通过适当的用户管理,您可以提升系统的安全性和稳定性。本篇文章涵盖了从基础到进阶的管理技巧,请善加利用,以确保您的Ubuntu环境运行顺畅且安全。