linux怎么变成超级权限,Linux操作系统中超级权限控制的应用

在Linux 中,root 权限是最高 ,也被称为超级权限 拥有者。普通用户无法执行 ,root用户都能完成,所以也被称之为超级管理用户。 在 中,每个 、目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法 ,但对root除外。root用户

在Linux

中,root

权限是最高

,也被称为超级权限

拥有者。普通用户无法执行

,root用户都能完成,所以也被称之为超级管理用户。

中,每个

、目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法

,但对root除外。root用户

特权性还表现在root可以超越任何用户和用户组来对

或目录进行读取、修改或删除(在

正常

许可范围内);对可执行程序

执行、终止;对硬件设备

添加、创建和移除等;也可以对

和目录进行属主和权限进行修改,以适合

管理

需要(因为root是

中权限最高

特权用户);

一、对超级用户和普通用户

理解

1、什么是超级用户;

在所有Linux

中,

都是通过UID来区分用户权限级别

,而UID为0

用户被

约定为是具有超级权限。超级用户具有在

约定

最高权限满园内

,所以说超级用户可以完成

管理

所有工具;我们可以通过/etc/passwd 来查得UID为0

用户是root,而且只有root对应

UID为0,从这一点来看,root用户在

中是无可替代

至高地位和无限制权限。root用户在

中就是超级用户;

2、理解 UID 和用户

对应关系

默认安装时,

用户和UID 是一对一

对关系,也就是说一个UID 对应一个用户。我们知道用户身份是通过UID 来确认

,我们在 《用户(user)和用户组(group)配置

详解》中

UID

解说中有谈到“UID 是确认用户权限

标识,用户登录

所处

角色是通过UID 来实现

,而非用户名;把几个用户共用一个UID 是危险

,比如我们把普通用户

UID 改为0,和root共用一个UID ,这事实上就造成了

管理权限

混乱。如果我们想用root权限,可以通过su或sudo来实现;切不可随意让一个用户和root分享同一个UID ;”

中,能不能让UID 和用户是一对多

关系?是可以

,比如我们可以把一个UID为0这个值分配给几个用户共同使用,这就是UID 和用户

一对多

关系。但这样做

确有点危险;相同UID

用户具有相同

身份和权限。比如我们在

中把beinan这个普通用户

UID改为0后,事实上这个普通用户就具有了超级权限,他

能力和权限和root用户一样;用户beinan所有

都将被标识为root

,因为beinan

UID为0,而UID为0

用户是root ,是不是有点扰口?也可以理解为UID为0

用户就是root ,root用户

UID就是0;

UID和用户

一对一

对应关系 ,只是要求管理员进行

管理时,所要坚守

准则,因为

安全还是第一位

。所以我们还是把超级权限保留给root这唯一

用户是最好

选择;

如果我们不把UID

0值

分享给其它用户使用,只有root用户是唯一拥有UID=0

话,root用户就是唯一

超级权限用户;

3、普通用户和伪装用户

与超级用户相对

就是普通用户和虚拟(也被称为伪装用户),普通和伪装用户都是受限用户;但为了完成特定

任务,普通用户和伪装用户也是必须

;Linux是一个多用户、多任务

,多用户主要体现在用户

角色

多样性,不同

用户所分配

权限也不同;这也是Linux

比Windows

更为安全

本质所在,即使是现在最新版本

Windows 2003 ,也无法抹去其单用户

烙印;

二. 超级用户(权限)在

管理中

作用

超级权限用户(UID为0

用户)到底在

管理中起什么作用呢?主要表现在以下两点;

1、对任何

、目录或进程进行

但值得注意

是这种

是在

最高许可范围内

;有些

就是具有超级权限

root也无法完成;

比如/proc 目录,/proc 是用来反应

运行

实时状态信息

,因此即便是root也无能为力;它

权限如下

[root@localhost ~]# pwd

/root

[root@localhost ~]# cd /

[root@localhost /]# ls -ld /proc/

dr-xr-xr-x 134 root root 0 2005-10-27 /proc/

就是这个目录,只能是读和执行权限,但绝对没有写权限

;就是我们把/proc 目录

写权限打开给root,root用户也是不能进行写

[root@localhost ~]# chmod 755 /proc

[root@localhost /]# ls -ld /proc/

drwxr-xr-x 134 root root 0 2005-10-27 /proc/

[root@localhost /]# cd /proc/

[root@localhost proc]# mkdir testdir

mkdir: 无法创建目录‘testdir’: 没有那个

或目录

2、对于涉及

全局

管理;

硬件管理、

理解、用户管理以及涉及到

全局配置等等......如果您执行某个命令或工具时,提示您无权限,大多是需要超级权限来完成;

比如用adduser来添加用户,这个只能用通过超级权限

用户来完成;

3、超级权限

不可替代性;

由于超级权限在

管理中

不可缺少

重要作用,为了完成

管理任务,我们必须用到超级权限;在一般情况下,为了

安全,对于一般常规级别

应用,不需要root用户来

完成,root用户只是被用来管理和维护

之用;比如

日志

查看、清理,用户

添加和删除......

在不涉及

管理

工作

环境下,普通用户足可以完成,比如编写一个

,听听音乐;用gimp 处理一个图片等...... 基于普通应用程序

调用,大多普通用户就可以完成;

当我们以普通权限

用户登录

时,有些

配置及

管理必须通过超级权限用户完成,比如对

日志

管理,添加和删除用户。而如何才能不直接以root登录,却能从普通用户切换到root用户下才能进行

管理需要

工作,这就涉及到超级权限管理

问题;

获取超级权限

过程,就是切换普通用户身份到超级用户身份

过程;这个过程主要是通过su和sudo 来解决;

三、使用 su 命令临时切换用户身份;

1、su

适用条件和威力

su命令就是切换用户

工具,怎么理解呢?比如我们以普通用户beinan登录

,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好

;二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户

工作,等任务完成后再退出root。我们可以看到当然通过su 切换是一种比较好

办法;

通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证;

2、su

用法:

su [OPTION选项参数] [用户]

-, -l, --login 登录并改变到所切换

用户环境;

-c, --commmand=COMMAND 执行一个命令,然后退出所切换到

用户环境;

至于更详细

,请参看man su ;

3、su

范例:

su 在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变root登录环境;用户默认

登录环境,可以在/etc/passwd 中查得到,包括家目录,SHELL定义等;

[beinan@localhost ~]$ su

Password:

[root@localhost beinan]# pwd

/home/beinan

su 加参数 - ,表示默认切换到root用户,并且改变到root用户

环境;

[beinan@localhost ~]$ pwd

/home/beinan

[beinan@localhost ~]$ su -

Password:

[root@localhost ~]# pwd

/root

su 参数 - 用户名

[beinan@localhost ~]$ su - root 注:这个和su - 是一样

功能;

Password:

[root@localhost ~]# pwd

/root

[beinan@localhost ~]$ su - linuxsir 注:这是切换到 linuxsir用户

Password: 注:在这里输入密码;

[linuxsir@localhost ~]$ pwd 注:查看用户当前所处

位置;

/home/linuxsir

[linuxsir@localhost ~]$ id 注:查看用户

UID和GID信息,主要是看是否切换过来了;

uid=505(linuxsir) gid=502(linuxsir) groups=0(root),500(beinan),502(linuxsir)

[linuxsir@localhost ~]$

[beinan@localhost ~]$ su - -c ls 注:这是su

参数组合,表示切换到root用户,并且改变到root环境,然后列出root家目录

,然后退出root用户;

Password: 注:在这里输入root

密码;

anaconda-ks.cfg Desktop install.log install.log.syslog testgroup testgroupbeinan testgrouproot

[beinan@localhost ~]$ pwd 注:查看当前用户所处

位置;

/home/beinan

[beinan@localhost ~]$ id 注:查看当前用户信息;

uid=500(beinan) gid=500(beinan) groups=500(beinan)

4、su

优缺点;

su

确为管理带来方便,通过切换到root下,能完成所有

知秋君
上一篇 2024-08-09 14:48
下一篇 2024-08-09 14:12

相关推荐