提出问题:
如何给普通用户提升权限?
如何让用户之间相互切换?
openEuler用户的类别为超级用户、普通用户和虚拟用户。一般情况下,登录账户为普通用户,但是在更改系统文件或者执行某些命令时,需要以root用户的权限才能进行,此时就需要将普通用户提升权限,更改为root用户。
在切换用户身份时,常用到的命令有三种:
su:此命令在切换用户时,仅切换root用户身份,但shell环境仍为普通用户;
su –:此命令在切换用户时,用户身份和shell环境都会切换为root用户;
sudo:此命令可以允许普通用户执行管理员账户才能执行的命令。
一、su命令
su可用来更改用户身份,但不会更改shell环境。
语法:su [options] [-] [ […]]
其中的命令选项说明如下:
-m,-p:执行su时不会改变环境变量
-s:指定要执行的shell(bash、csh、tcsh等)
-c:变更账号为USER的使用者并在执行完command后变为原使用者
-f:不需要读启动档,仅用于 csh 或 tcsh
etc…
注意:openEuler21.09默认情况下,无法使用su命令切换普通用户到root用户,也不能切换普通用户A到普通用户B。
原因是参数文件/etc/pam.d/su中规定了,用户必须加入wheel组才能够使用su命令。
解决方案:
将参数文件/etc/pam.d/su中auth required pam_wheel.so这一行注释掉。
也可以将需要切换的用户都加入wheel组。
用法示例1:root用户切换到普通用户
[root@localhost ~]# useradd test1
[root@localhost ~]# passwd test1
更改用户 test1的密码 。
新的密码:
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# su test1
无需输入密码,直接切换到普通用户
用法示例2:普通用户切换到root用户
首先,修改配置文件
[root@localhost ~]# vi /etc/pam.d/su
找到下面这一行:
auth required pam_wheel.so use_uid
在这一行的