如何在Linux命令行中更改用户

时间:2020-03-05 15:26:06  来源:igfitidea点击:

Linux系统也有不同类型的用户,以及不同类型或者权限。

并非所有用户都可以执行所有命令,而不是所有用户都可以既不允许切换到其他用户。
这一切都可能听起来很困惑,但我会尝试解释这些,所以它很容易理解。

目前,这是如何在Linux命令行中切换用户的快速摘要。

要切换用户,我们需要知道该用户的密码。
我们可以使用此命令切换用户:

su – <username>

要在Ubuntu切换到root用户,可以使用此命令:

sudo -i

Linux中的各种用户类型

如果我们列出了Linux中的所有用户,我们将看到很多我们不了解的用户。

谁是这些用户?
哪儿来的呢?
我可以在用户在Linux中工作的工作方式写一篇文章,但这不是这个的想法。

基本上,Linux中有3种类型的用户:

1.系统用户

这些是在Linux系统中自动创建的用户,以便能够运行服务或者应用程序,并且不旨在登录系统(实际上我们无法作为任何这些用户登录)。

2.普通用户

这些是可以登录系统的(人类)用户。
这些用户中的每一个可能在系统中的系统中具有或者不具有不同的权限或者级别。

3.超级用户

这些是系统管理员或者用户可以执行可考虑关键或者系统危险的高级任务。

在命令行中切换用户

使用Linux系统时,我们可以通过同一命令行话与用户登录,然后将"切换"到另一个用户。
为此,有一个命令"su - ",允许我们切换成为另一个用户:

Hyman@theitroad:~$su - janedoe 
Password:  
Hyman@theitroad:~$

在上面的示例中,我们需要知道Janedoe的密码以切换到该用户。
这是有意义的,因为如果要切换到用户,则需要知道该用户的密码将是安全风险。

切换到root用户

出于安全原因,某些系统具有"root"帐户被阻止用于直接登录,无论是在本地还是远程,所以这意味着它不会接受尝试使用"root"登录的人,即使使用正确的密码。

那么,你如何执行作为"root"用户的动作?
这就是'sudo'命令允许东西。

sudo命令基本上将在系统中执行任何我们想要的任何东西,就像"root"正在执行它一样。
事实上,我们不需要知道"root"用户的密码,可能没有人知道它或者没有分配给"root"的密码。
我们只需要知道自己的用户的密码,并且该用户必须在"sudoers"组中,基本上是可以在系统中使用'sudo'的用户组。

通常,使用像这样的root权限运行sudo运行命令是一个很好的做法:

sudo <command>

但是如果要更改为root用户,以便将所有后续命令都作为root运行,我们可以使用:

sudo -i

我们将在此处使用自己的密码,而不是root帐户的密码。

作为sudo用户自己,我们可以通过将用户添加到sudo组来创建sudo用户。