【Ubuntu】--- 创建用户 删除用户 及其他用户操作大全 持续更新中

秋知叶i 2024-09-06 12:37:04 阅读 72

在这里插入图片描述

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。


【Ubuntu】--- 创建用户 删除用户 及其他用户操作大全 持续更新中

开发环境一、创建系统用户1、设置密码(可选)2、示范

二、创建常规用户1、创建一个名为`qiuzhiyei1`的用户2、示范

三、创建用户但不创建home目录四、修改账户密码五、删除账户1. 仅删除用户账户2. 删除用户及其主目录和邮箱3. 删除用户及其所有文件4. 特殊情况处理

六、查看现有用户方法一:`cat /etc/passwd`方法二:`getent passwd`

七、给账户root权限


开发环境

开发环境:ubuntu20


一、创建系统用户

系统用户通常用于运行后台服务或执行系统任务,它们不需要登录shell,也不会创建家目录。然而,如果你需要为系统用户指定一个登录shell,可以使用以下命令:

<code>sudo adduser --system --shell /bin/bash --group qiuzhiyei

--system: 创建一个系统用户--shell /bin/bash: 为用户指定bash作为登录shell(尽管系统用户通常不需要登录)。--group: 创建一个与用户同名的用户组,并将用户添加到该组中。

1、设置密码(可选)

尽管系统用户通常不需要密码,但如果你确实需要设置,可以使用:

sudo passwd qiuzhiyei

2、示范

root@ubuntu20:~$ sudo adduser --system --shell /bin/bash --group qiuzhiyei

Adding ubuntu20 user `qiuzhiyei' (UID 113) ...

Adding new group `qiuzhiyei' (GID 118) ...

Adding new user `qiuzhiyei' (UID 113) with group `qiuzhiyei' ...

root@ubuntu20:~$ sudo passwd qiuzhiyei

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

root@ubuntu20:~$

注意: 在实际使用中,通常不需要为系统用户设置密码。

二、创建常规用户

常规用户具有登录权限和家目录,适合进行日常开发和存储个人文件。

1、创建一个名为qiuzhiyei1的用户

sudo adduser qiuzhiyei1

此命令会提示你设置密码并询问一些个人信息。创建的用户将没有root权限,适合开发人员使用。

2、示范

root@ubuntu20:~# sudo adduser qiuzhiyei1

Adding user `qiuzhiyei1' ...

Adding new group `qiuzhiyei1' (1001) ...

Adding new user `qiuzhiyei1' (1001) with group `qiuzhiyei1' ...

Creating home directory `/home/qiuzhiyei1' ...

Copying files from `/etc/skel' ...

New password:

Retype new password:

passwd: password updated successfully

Changing the user information for qiuzhiyei1

Enter the new value, or press ENTER for the default

Full Name []:

Room Number []:

Work Phone []:

Home Phone []:

Other []:

Is the information correct? [Y/n]

三、创建用户但不创建home目录

如果你不想为新用户创建家目录,可以使用--no-create-home选项:

sudo adduser --no-create-home changfanglan

这种用户可能适合某些特定场景,如Samba共享,但请注意,没有家目录的用户在登录桌面环境时可能会遇到问题。

四、修改账户密码

sudo passwd username

五、删除账户

1. 仅删除用户账户

若只需删除用户账户,不涉及其个人文件和设置,可使用以下命令:

sudo deluser 用户名

例如,删除名为qiuzhiyei的用户:

sudo deluser qiuzhiyei

系统将提示正在删除用户qiuzhiyei,并可能警告该用户组已无其他成员。

2. 删除用户及其主目录和邮箱

如需彻底删除用户,并同时移除其主目录和邮箱,应执行:

sudo deluser --remove-home 用户名

qiuzhiyei为例:

sudo deluser --remove-home qiuzhiyei

系统将搜索并删除相关文件,然后删除用户账户。

3. 删除用户及其所有文件

若需更彻底地删除用户及其拥有的所有文件,可使用:

sudo deluser --remove-all-files 用户名

请注意,此操作将删除用户的所有文件,需谨慎使用。

4. 特殊情况处理

在删除用户时,可能会遇到无法删除用户主组的情况,如:

groupdel: cannot remove the primary group of user '用户名'

此时,可以尝试使用userdel命令配合-r选项来删除用户及其主目录:

sudo userdel -r 用户名

例如,删除qiuzhiyei用户及其主目录:

sudo userdel -r qiuzhiyei

重要提示:执行删除操作前,请务必确认操作对象,以免误删重要数据或账户。

六、查看现有用户

方法一:cat /etc/passwd

cat /etc/passwd

区别与好处

直接性:这个命令直接展示了/etc/passwd文件的内容,该文件明确记录了系统上的所有用户信息。全面性:你可以看到每个用户的详细信息,包括用户名、用户ID、组ID、家目录和默认shell。简单性cat命令是Linux中最基础的命令之一,易于使用和理解。

方法二:getent passwd

getent passwd

区别与好处

动态性:与直接查看/etc/passwd文件不同,getent命令查询的是系统的用户数据库,这意味着它可以反映实时的用户信息,即使在/etc/passwd文件未被直接更新的情况下。兼容性getent是一个更为通用的命令,可以用于查询不同类型的系统数据库,不仅仅是用户信息。安全性:由于不直接操作文件,使用getent可能在一定程度上减少了误操作的风险。

七、给账户root权限

当用户尝试使用sudo命令却收到“qiuzhiyei is not in the sudoers file. This incident will be reported.”这样的提示时,说明该用户没有被授予Root权限。为了解决这个问题,需要将用户添加到sudoers文件中。

以下是授予用户Root权限的步骤:

编辑sudoers文件

打开终端,输入以下命令以编辑sudoers文件:

sudo vim /etc/sudoers

找到用户权限规格部分

sudoers文件中,找到类似于下面的行:

# User privilege specification

root ALL=(ALL:ALL) ALL

添加用户权限

root权限行下方,添加想要授予Root权限的用户,格式如下:

用户名 ALL=(ALL:ALL) ALL

qiuzhiyei为例,添加:

qiuzhiyei ALL=(ALL:ALL) ALL

保存并退出编辑器

如果使用的是vim编辑器,按Esc键退出插入模式,然后输入:wq并按Enter键保存并退出。如果使用的是nano编辑器,可以按Ctrl + O保存,然后按Ctrl + X退出。

测试sudo权限

保存并退出编辑器后,就可以尝试使用sudo命令来验证权限是否已成功授予。例如,输入sudo ls并查看是否要求输入密码。如果要求输入密码并能够成功执行命令,则说明Root权限已正确授予。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。