问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Ubuntu 用户管理完整指南:从创建到权限管理

创作时间:
作者:
@小白创作中心

Ubuntu 用户管理完整指南:从创建到权限管理

引用
1
来源
1.
https://www.linux.digibeatrix.com/zh/archives/2048

Ubuntu是Linux发行版中最广泛使用的操作系统之一,也是服务器和开发环境的首选。在Ubuntu中,用户管理是一个关键要素,对于系统的安全性和运行效率至关重要。本文将详细介绍如何在Ubuntu中创建用户、授予sudo权限以及删除不再需要的用户。通过本文,您将能够熟练掌握Ubuntu的用户管理,提升系统的安全性和运行效率。

1. 简介

Ubuntu是Linux发行版中最广泛使用的操作系统之一,也深受服务器与开发环境的欢迎。在其中,“用户管理”是一个关键要素,对于系统的安全性和运行效率至关重要。

本篇文章将详细说明如何在Ubuntu中建立用户,并介绍GUI(图形化界面)与指令列(CLI)两种方式。此外,我们也会说明如何授予用户sudo权限,以及删除不再需要的用户的步骤。

阅读本文后,您将能够顺利管理Ubuntu的用户,提升系统的安全性和运行效率。

2. 使用GUI建立与管理用户(适合初学者)

对于不熟悉Linux的初学者而言,使用Ubuntu的GUI(图形化用户界面)来建立用户是一种简单且直观的方式。特别是使用桌面环境时,通过GUI进行管理较为直观,推荐使用此方法。

2.1 使用GUI建立新用户

  1. 打开“设置”菜单
  • 点击屏幕左上角的“活动”,搜索“设置”,并开启它。
  • 在“设置”菜单中,点击“用户”选项。
  1. 新增用户
  • 点击画面右上角的“新增用户”按钮。
  • 选择“管理员”或“标准用户”。
  • 输入用户名、完整名称和密码。
  1. 完成建立
  • 点击“新增”按钮,等待用户建立完成。
  • 建立完成的用户将显示在列表中。

重点提示:

  • 标准用户无法变更系统的关健设置。
  • 管理员用户拥有sudo权限,可进行系统管理。

2.2 使用GUI设定sudo权限

如果要建立具有sudo权限的用户,只需选择“管理员”选项即可。然而,如果要为现有用户新增sudo权限,请按照以下步骤进行:

  1. 在“设置”菜单中开启“用户”选项
  2. 选择要修改的用户
  3. 勾选“管理员”选项
  4. 点击“套用”以保存变更

完成上述步骤后,该用户将获得sudo权限。

2.3 使用GUI删除用户

若要删除不再需要的用户,请依照以下步骤操作:

  1. 在“设置”菜单中开启“用户”选项
  2. 选择要删除的用户
  3. 点击“删除”按钮
  4. 选择是否删除该用户的主目录资料
  5. 确认删除

注意事項:

  • 删除用户后,可能会一并删除其主目录资料,请务必确认。
  • 如有必要,请先备份重要资料,以免遗失。

3. 使用指令列(CLI)建立用户(适合中级与管理者)

在Ubuntu中,通过指令列(Command Line Interface,CLI)可以更细致地设定用户信息。当管理服务器或进行远程操作时,通常必须使用CLI,而非GUI。因此,熟悉CLI操作将非常有帮助。

本节将详细解释在Ubuntu中建立用户的主要指令,包括adduseruseradd的差异及使用方式。

3.1 使用adduser指令建立用户

adduser指令的基本概念

在Ubuntu中,可以使用adduser指令来简单建立新用户。这是一个互动式的指令,只需按照提示输入必要信息即可建立用户账号。

操作步骤

  1. 开启终端机(按下Ctrl + Alt + T或使用SSH连线)。
  2. 执行以下指令:
sudo adduser 新用户名称  
  1. 系统会要求输入一些信息,请依指示输入:
  • 设定密码(必填)。
  • 输入完整名称、电话号码等信息(可跳过)。
  1. 最后,系统会显示“信息正确吗?(按‘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群组:

步骤:

  1. 打开终端机
  2. 执行以下指令:
sudo usermod -aG sudo 用户名称  
  1. 登出并重新登入,以应用变更
  2. 确认是否成功拥有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中,删除不再需要的用户时,除了移除账号外,还需要适当处理用户的家目录与相关群组。

本节将说明如何使用deluseruserdel指令来删除用户,并介绍删除时应注意的事项。

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 adduseruseradd有什么不同?

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环境运行顺畅且安全。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号