在Ubuntu 12.04和CentOS 6上如何添加和删除用户

简介: 在Ubuntu 12.04和CentOS 6上如何添加和删除用户

简介

在新的 Linux 服务器上,你应该知道如何添加和删除用户是最基本的任务之一。当你创建一个新系统时,通常(比如在 DigitalOcean Droplets 上)默认只会给你 root 账户。

虽然以 root 用户身份运行可以赋予你很大的权力和灵活性,但也是危险的,可能会造成破坏。通常最好的做法是添加一个额外的非特权用户来执行常见任务。你还应该为系统上的其他用户创建额外的账户。每个用户应该有一个不同的账户。

当你需要时,你仍然可以通过一种叫做 sudo 的机制获得管理员权限。在本指南中,我们将介绍如何创建用户账户、分配 sudo 权限和删除用户。

如何添加用户

如果你以 root 用户身份登录,你可以随时输入以下命令来创建一个新用户:

adduser newuser

如果你以被赋予 sudo 权限的非 root 用户身份登录,就像在初始服务器设置指南中演示的那样,你可以输入以下命令来添加一个新用户:

sudo adduser newuser

无论哪种方式,你都会被要求回答一系列问题。具体步骤如下:

  • 为新用户分配并确认密码
  • 输入有关新用户的任何其他信息。这完全是可选的,如果你不想使用这些字段,可以直接按 Enter 跳过。
  • 最后,你将被要求确认你提供的信息是否正确。输入 Y 继续。

你的新用户现在已经准备就绪!你现在可以使用你设置的密码登录。

如何授予用户 sudo 权限

如果你的新用户应该有执行具有根(管理员)权限的命令的能力,你需要给新用户访问 sudo 的权限。让我们来看看解决这个问题的两种方法:将用户添加到预定义的 sudo 用户组 中,并在 sudo 的配置中为每个用户指定权限。

将新用户添加到 Sudo 组

在 Ubuntu 16.04 系统上,默认情况下,sudo 被配置为向 sudo 组中的任何用户授予完整权限。

你可以使用 groups 命令查看你的新用户属于哪些组:

groups newuser
newuser : newuser

默认情况下,新用户只属于他们自己的组,该组在创建账户时创建,并与用户同名。为了将用户添加到新组,我们可以使用 usermod 命令:

usermod -aG sudo newuser

这里的 -aG 选项告诉 usermod 将用户添加到列出的组中。

测试用户的 Sudo 权限

现在,你的新用户可以以管理员权限执行命令。

当以新用户身份登录时,你可以像平常一样输入命令以作为你的常规用户执行:

some_command

你可以在命令前输入 sudo 以以管理员权限执行相同的命令:

sudo some_command

系统会提示你输入你当前登录的常规用户账户的密码。

在 /etc/sudoers 中指定显式用户权限

作为将用户放入 sudo 组的替代方法,你可以使用 visudo 命令,在系统默认编辑器中打开一个名为 /etc/sudoers 的配置文件,并明确指定每个用户的权限。

使用 visudo 是对 /etc/sudoers 进行更改的唯一推荐方式,因为它锁定文件以防止多个同时编辑,并在覆盖文件之前对其内容进行检查。这有助于防止你配置 sudo 出现问题后失去 sudo 权限而无法解决问题的情况。

如果你当前以 root 用户身份登录,输入:

visudo

如果你以被赋予 sudo 权限的非 root 用户身份登录,输入:

sudo visudo

传统上,visudo 会在 vi 编辑器中打开 /etc/sudoers,这可能对经验不足的用户来说很困惑。在新的 Ubuntu 安装中,默认情况下应该使用 nano,它提供了更熟悉的文本编辑体验。使用箭头键移动光标,并搜索看起来像这样的行:

root    ALL=(ALL:ALL) ALL

在这一行下面,复制你在这里看到的格式,只更改单词 “root” 以引用你想要授予 sudo 权限的新用户:

root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL

你应该为每个应该被授予完整 sudo 权限的用户添加一行。完成后,你可以通过按 Ctrl-X,然后 Y,最后 Enter 来保存并关闭文件。

如何删除用户

如果你不再需要某个用户,最好的做法是删除旧账户。

你可以在 root 用户下直接删除用户本身,而不删除任何文件,输入以下命令:

deluser newuser

如果你以另一个具有 sudo 权限的非 root 用户登录,你可以输入以下命令:

sudo deluser newuser

如果你想在删除用户时同时删除用户的家目录,你可以在 root 用户下输入以下命令:

deluser --remove-home newuser

如果你以具有 sudo 权限的非 root 用户身份运行此命令,你应该输入以下命令:

sudo deluser --remove-home newuser

如果你之前为删除的用户配置了 sudo 权限,你可能需要再次删除相关行,输入以下命令:

visudo

或者如果你是具有 sudo 权限的非 root 用户,你可以输入以下命令:

sudo visudo
root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL   # 删除此行

这将防止以相同名称创建的新用户意外获得 sudo 权限。

结论

现在你应该对如何在 Ubuntu 16.04 系统中添加和删除用户有了相当好的掌握。有效的用户管理将允许你分离用户,并仅为他们的工作提供必要的访问权限。

要了解有关如何配置 sudo 的更多信息,请查看我们的有关如何编辑 sudoers 文件的指南。


目录
相关文章
|
7月前
|
Ubuntu Linux
Centos 7、Debian、Ubuntu中tree指令的检查与下载
Centos 7、Debian、Ubuntu中tree指令的检查与下载
|
7月前
|
Ubuntu Linux 虚拟化
2:发行版本安装演示——Ubuntu、CentOS、Kali?-步入Linux的现代方法
2:发行版本安装演示——Ubuntu、CentOS、Kali?-步入Linux的现代方法
131 0
|
Ubuntu Linux Docker
[笔记]Centos/Ubuntu/Windows/Docker 安装使用Aria2及Aria2基本使用
[笔记]Centos/Ubuntu/Windows/Docker 安装使用Aria2及Aria2基本使用
532 0
|
7月前
|
Kubernetes Ubuntu 安全
Linux|科普扫盲帖|配置网络软件源---阿里云镜像仓库服务使用(centos,Ubuntu)
Linux|科普扫盲帖|配置网络软件源---阿里云镜像仓库服务使用(centos,Ubuntu)
2979 0
|
tengine Ubuntu 应用服务中间件
ubuntu/centos下载、安装与配置nginx
ubuntu/centos下载、安装与配置nginx
371 1
|
7月前
|
存储 Ubuntu 应用服务中间件
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
97 1
|
2月前
|
Ubuntu 网络协议 Linux
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
123 0
|
5月前
|
Ubuntu 安全 Linux
Ubuntu与CentOS的区别
Ubuntu与CentOS的区别
81 1
|
6月前
|
Ubuntu 安全 Linux
对比CentOS与Ubuntu:选择最适合你的Linux发行版
对比CentOS与Ubuntu:选择最适合你的Linux发行版
1070 0
|
6月前
|
Ubuntu Linux
查看Linux系统是Ubuntu还是CentOS
查看Linux系统是Ubuntu还是CentOS
1312 0