广州总校区切换校区
复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图片
news

新闻资讯

如何获取linux系统root权限

发布时间: 2021-06-22

如何获取linux系统root权限?在Windows系统中,为了管理方便,通常都是以administrator用户直接登陆系统,以履行系统管理员职责。在Linux中,系统的超级管理员是root用户,具有系统的全部权限。


Linux的普通用户,对自己创建的文件具有完全的访问权,也可以控制可移动设备,如u盘、移动硬盘等。但执行诸如安装或删除软件以及管理系统文件和目录等任务,必须将特权升级到root用户。


由于root用户拥有足以破坏系统的无限制权限:删除文件和目录、删除用户账户,以及添加后门程序等。


日常听说的某程序员“删库跑路”,其实就是使用root账户,执行rm -rf / 命令,删除系统中的所有文件和数据。如果root账户泄露,则其他人就有可能拥有系统的管理控制权限。因此在Linux中,不建议以root用户直接登陆系统。


大多数系统管理员都作为无特权的用户登陆,仅在需要时通过各种工具临时获得root特权。


【切换用户】


su命令可以从当前用户切换到另一个用户。如果从当前用户账户直接运行su命令,默认是切换到root账户,会提示输入root用户的密码:



[test@iCentOS ~]$ su
Password:
[root@iCentOS test]#



su还可以切换到其他普通用户,需要以要登陆的用户名作为参数:



su和su - 的区别,先上图:



在第一张图中,使用su来切换到root账户,但是红线部分显示的还是test用户的shell,这说明root用户仅仅以root身份启动了shell,但使用的却是test用户的环境设置。


第二张图中,使用su - 切换到root账户,红线部分显示的已变成了root账户的shell,这就相当于以root身份重新登陆系统一样,使用的也是root账户的环境设置。


因此,在实践中,也建议用su - 命令来切换用户,以启动包含目标用户环境设置的shell。


【sudo】


在红帽系Linux系统中,会配置root用户。如果需要安装或删除软件以及进行系统管理,可以切换到root用户。配置完成后exit到普通用户即可。但是在ubuntu系Linux中,默认是没有配置root用户密码的,这也是从安全角度来设置的。在这种情况下,用户无法使用密码直接以root身份登陆系统,也不能使用su获取交互式shell。普通用户用于获取root访问权限的工具是sudo。


与su不同,sudo通常要求用户输入自己的密码以进行身份验证。即,用户使用sudo以root运行命令时,不需要root密码,他们将使用自己的密码来验证访问权限。


【配置sudo】


sudo的主配置文件为/etc/sudoers。可以在root账户下,通过编辑sudoers文件来为某些用户添加特权权限。



如图片中第二行、第三行、最后一行所示,要为用户添加特别权限,只需要指定三部分即可:用户名或组名、允许登陆的主机及授权用户或组、可执行的命令。


1.用户名:不以%开头的表示将要授权的用户,如图中的root和botee;以%开头的表示将要授权的组,如图中的%wheel组。


2.允许登陆的主机及授权用户或组:用户可以从哪些主机上登陆到本服务器来执行sudo命令。第一个ALL指的是所有主机,第二个ALL指的是可以提权到所有用户或用户组。例如:test labENV=(root)表示普通用户test可以在labENV主机上登陆到服务器,并以root用户执行命令。


3.可执行的命令:这里需要写可执行命令的绝对路径,如/us/sbin/useradd, /usr/bin/install等。同时可以在命令前加NOPASSWD选项,以允许用户在不输入密码的前提下以其他身份执行命令。需要注意的是,NOPASSWD后面必须加冒号(:)再接命令的绝对路径。可能的示例如下:


test ALL=(ALL) ALL //允许test用户从任意主机登陆到本服务器的任意用户且可以执行任意命令

test ALL=(root) ALL //允许test用户从任意主机登陆到本服务器的root账户且可以执行任意命令

test labENV=(root) ALL //允许test用户从LabENV主机登陆到本服务器的root账户且可以执行任意命令

test labENV=(root) NOPASSWD:/usr/bin/install, /usr/sbin/useradd 
//允许test用户从labENV主机登陆到本服务器的root账户且仅可以执行install和useradd命令
执行install命令时不需要输入密码。

%test ALL=(ALL) ALL //对test组进行提权

上一篇: 网络工程师有什么岗位

下一篇: linux文件系统权限

<
在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!