linux系统切换用户
由于 root 用户权限比较大,Linux 系统一般不推荐直接以 root 用户登录,但在某些情况下我们需要使用 root 用户时,注销系统再登录的办法就比较浪费我们的时间了。不过我们还可以通过切换用户的方法来解决这个问题。方法一:我们可以使用 su 命令在系统下切换用户su 命令可以实现普通用户和 root 用户之间相互切换。值得注意的是:普通用户----》》root 需要密码,密码就是普通用户
由于 root 用户权限比较大,Linux 系统一般不推荐直接以 root 用户登录,但在某些情况下我们需要使用 root 用户时,注销系统再登录的办法就比较浪费我们的时间了。
不过我们还可以通过切换用户的方法来解决这个问题。
方法一:我们可以使用 su 命令在系统下切换用户
su
命令可以实现普通用户和 root
用户之间相互切换。值得注意的是:
普通用户----》》root 需要密码,密码就是普通用户的登陆密码
root用户----》》普通用户不需要我们输入密码。
命令用法如下所示:
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
下面举个例子:
1.从root用户切换为一般用户
su test
如果要退回到原来用户,我们可以输入 exit
或者按 ctrl+d
2.从普通用户切换到 root 用户
su root
在上面的图片中,$ 代表是普通用户,# 代表是超级用户。
方法二:使用sudo命令
当我们只需要短时间内使用其他用户的身份完成某个命令,可以使用 sudo
命令。修改 /etc/sudoers,我们要使用这个命令要先修改配置文件,只有在配置文件下赋予的操作命令,sudo
才能够完成。
在不知道 root
密码的情况下,我们作为 root
用户管理员要授权其他普通用户去执行 root
权限的命令操作,sudo
命令可以帮我们实现这一功能。
关于 sudo
命令与 su
命令不同之处,使用 root
权限下的命令时 sudo
命令只需要知道自己用户的密码,而 su
命令需要 root
用户的密码,因此 sudo
命令比 su
命令更加安全。
sudo命令用法:
sudo [-bhHpV][-s ][-u <用户>][指令]
或 sudo [-klv]
下面举例说明 sudo
命令的几种用法。
1.让普通用户可以执行 root
用户的所有命令
[root@VM_0_8_centos ~]# visudo
...省略...
## Allow root to run any commands anywhere
root ALL=(ALL) ALL <=系统默认
user1 ALL=(ALL) ALL <=新增的,让user1可以执行sudo命令
...省略...
#user1代表用户账号,第一个ALL代表登录者的来源主机名,第二个(ALL)代表可
#可切换的身份,第三个ALL表示可执行的命令
通过上面的命令,我们的 user1 用户就能使用 sudo
命令来执行 root
用户的命令。
#执行单条命令
[user1@VM_0_8_centos local]$ sudo -u root mkdir test1
#加入sh -c,一次执行多条命令
[user1@VM_0_8_centos local]$ sudo -u root sh -c "chmod -R 777 test1;ls"
2.让普通用户可以执行 root
用户的某些命令
但是普通用户可以执行所有的 root
命令,权限太大,不够安全,我们可以做一些做限制呢来保障安全。具体实例如下所示:
[root@VM_0_8_centos ~]# visudo
...省略...
## Allow root to run any commands anywhere
root ALL=(ALL) ALL <=系统默认
user1 ALL=(ALL) !/usr/bin/passwd,!/usr/bin/passwd root,
/usr/bin/passwd [A-Za-z]*
...省略...
上面的示例我们可以看到,由于我们对 passwd root
命令做了限制,就可以防止普通用户更改 root 密码。虽然 user1 用户能切换到任何一个用户并且执行 “passwd 任意字符”的命令但是它不可以修改 root
密码。
通过以上两个 Linux 切换用户的方法,相信大家在相关命令操作中效率会有所提高。也希望大家积极留言讨论。
更多推荐
所有评论(0)