如何以root用户身份登录?

时间:2020-01-09 10:38:49  来源:igfitidea点击:

如何在Linux,Apple OS X,* BSD和类似UNIX的操作系统下以root用户身份登录?
在Linux,* BSD和UNIX等操作系统上,root用户充当超级用户。
根用户是对系统具有所有权限的用户的常规名称。

root用户可以执行普通用户无法执行的许多操作,例如更改文件的所有权,安装磁盘,格式化和恢复新的文件系统,启动/停止服务以及绑定到编号小于1024的端口。

由于存在安全风险,任何人都不能将root用户用作其普通用户帐户。因此,您改为使用普通用户帐户。解决方法:您需要使用susudo命令切换到root用户帐户。

su命令

su命令用于在登录会话期间更改用户ID或成为超级用户,即它允许您成为超级用户或替代用户,欺骗用户,设置用户或切换用户。

注意:只有在您知道目标用户或root用户密码的情况下,su才起作用。

su命令语法

语法为:

su {用户名}

如果在没有用户名的情况下调用su,则默认情况下将成为超级用户。
如果合适,将提示用户输入密码。

要以root用户身份登录,请执行以下命令(系统提示时,解决方法:您需要提供root用户帐户密码):

$ su 

输出示例:

Password: *******
#

登录后,提示应从" $"更改为"#"。
要以其他用户说theitroad的身份登录,请执行以下命令(提示时,解决方法:您需要提供theitroad用户帐户密码):

$ su - theitroad

输出示例:

Password:

通过ssh会话进行远程root登录

您可以按以下方式使用ssh客户端:

$ ssh [email protected]
$ ssh [email protected]
$ ssh [email protected]

但是,出于安全原因,在大多数情况下,将禁止通过ssh会话进行远程根登录。
首先,以普通用户身份登录,然后使用su命令切换到root帐户:

## login as a normal user ##
ssh [email protected]
 
## now switch to root account ##
su 

su命令和日志文件

su命令将其用法记录在系统日志文件中。
这对于查找su登录信息很有用。
如果您是RHEL/CentOS/Fedora Linux用户,则以root身份输入以下内容以查看/var/log/secure的内容:

# tail -f /var/log/secure

Debian/Ubuntu Linux用户尝试:

# tail -f /var/log/auth.log

输出示例:

May 30 23:02:56 wks05 su[23520]: pam_authenticate: Authentication failure
May 30 23:02:56 wks05 su[23520]: FAILED su for root by theitroad
May 30 23:02:56 wks05 su[23520]: - /dev/pts/3 theitroad:root
May 30 23:02:59 wks05 su[23521]: pam_unix(su:auth): authentication failure; logname=theitroad uid=1000 euid=0 tty=/dev/pts/3 ruser=theitroad rhost=  user=root
May 30 23:03:01 wks05 su[23521]: pam_authenticate: Authentication failure
May 30 23:03:01 wks05 su[23521]: FAILED su for root by theitroad
May 30 23:03:01 wks05 su[23521]: - /dev/pts/3 theitroad:root

sudo命令

sudo是用于Linux/Apple OS X/* BSD/Unix的计算机操作系统的程序,该程序允许用户使用其他用户(通常是超级用户)的安全特权运行程序。
默认情况下,sudo会提示您输入用户密码,但可以将其配置为要求root密码或根本不需要密码。

Apple Mac OS X和Ubuntu Linux以及许多其他操作系统都使用sudo命令执行许多管理任务。

sudo以其他用户身份执行命令,但遵循一组规则,关于哪些用户可以与其他用户身份执行哪些命令。
这是在名为/etc/sudoers的文件中配置的。
与su不同,sudo会根据自己的密码而不是目标用户的密码对用户进行身份验证。
了解如何在Linux操作系统下配置和使用sudo工具。

例如,要在Linux或Unix之类的操作系统下以root用户身份登录,请执行:

$ sudo -s

Sudo和日志文件

可以通过以root用户身份发出以下命令来查看sudo日志:

## Generic file for Unix/Linux ##
tail -f /var/log/messages
 
## Debian/Ubuntu and friends ##
tail -f /var/log/auth.log
 
## RHEL/CentOS/SL/Fedora Linux ##
tail -f /var/log/auth.log

输出示例:

May 30 23:12:42 wks05 sudo: i gift idea .com : TTY=pts/3 ; PWD=/tmp ; USER=root ; COMMAND=/bin/bash
May 30 23:12:42 wks05 sudo: pam_unix(sudo:session): session opened for user root by i gift idea.com(uid=1000)