您当前的位置: 首页 >  linux

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux基础:su命令使用方法介绍

发布时间:2020-08-21 20:59:24 ,浏览量:0

在这里插入图片描述 这篇文章通过具体的示例来介绍Linux下su命令的常见用法。

事前准备
  • 准备如下用户
用户名 密码 liumiao liumiaocn liumiaocn liumiaocn
  • 操作系统:CentOS 7
[root@liumiaocn ~]# useradd liumiao
[root@liumiaocn ~]# useradd liumiaocn
[root@liumiaocn ~]# passwd liumiao
Changing password for user liumiao.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@liumiaocn ~]# 
[root@liumiaocn ~]# passwd liumiaocn
Changing password for user liumiaocn.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@liumiaocn ~]# 
[root@liumiaocn ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@liumiaocn ~]#
用法1: 切换用户

su是switch user的缩写,自然就是完成切换用户之用,比如:

[root@liumiaocn ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@liumiaocn ~]# su liumiao
[liumiao@liumiaocn root]$ id
uid=1000(liumiao) gid=1000(liumiao) groups=1000(liumiao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiao@liumiaocn root]$

注意事项:

  • 从root切换为其他用户,不需密码输入,否则需要输入密码
  • su 用户名 和 su - 用户名方式的区别在于是否读入用户配置信息
[liumiao@liumiaocn root]$ id
uid=1000(liumiao) gid=1000(liumiao) groups=1000(liumiao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiao@liumiaocn root]$ 
[liumiao@liumiaocn root]$ su liumiaocn
Password: 
[liumiaocn@liumiaocn root]$ id
uid=1001(liumiaocn) gid=1001(liumiaocn) groups=1001(liumiaocn) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$
用法2: 非交互式输入密码

如果希望嵌在脚本中,则往往需要使用非交互方式输入密码,可考虑使用如下方式:

[liumiaocn@liumiaocn root]$ id
uid=1001(liumiaocn) gid=1001(liumiaocn) groups=1001(liumiaocn) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$ su liumiao < liumiaocn
> id
> !
Password: uid=1000(liumiao) gid=1000(liumiao) groups=1000(liumiao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$ 
[liumiaocn@liumiaocn root]$ id
uid=1001(liumiaocn) gid=1001(liumiaocn) groups=1001(liumiaocn) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$ 
[liumiaocn@liumiaocn root]$ id
uid=1001(liumiaocn) gid=1001(liumiaocn) groups=1001(liumiaocn) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$ su - liumiao < liumiaocn
> id
> !
Password: Last login: Fri Aug 21 08:49:21 EDT 2020
uid=1000(liumiao) gid=1000(liumiao) groups=1000(liumiao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$ id
uid=1001(liumiaocn) gid=1001(liumiaocn) groups=1001(liumiaocn) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$
用法3: 指定用户执行指定命令
[liumiaocn@liumiaocn root]$ id
uid=1001(liumiaocn) gid=1001(liumiaocn) groups=1001(liumiaocn) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$ su -l liumiao -c id
Password: 
uid=1000(liumiao) gid=1000(liumiao) groups=1000(liumiao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$

或者

[liumiaocn@liumiaocn root]$ id
uid=1001(liumiaocn) gid=1001(liumiaocn) groups=1001(liumiaocn) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$ su -c id liumiao
Password: 
uid=1000(liumiao) gid=1000(liumiao) groups=1000(liumiao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$
用法4: su -切换为root用户
[liumiaocn@liumiaocn root]$ su -
Password: 
Last login: Fri Aug 21 08:38:34 EDT 2020 from gateway on pts/0
Last failed login: Fri Aug 21 08:47:59 EDT 2020 on pts/0
There was 1 failed login attempt since the last successful login.
[root@liumiaocn ~]#
用法5: 使用当前环境变量切换用户su -p
[liumiaocn@liumiaocn root]$ id
uid=1001(liumiaocn) gid=1001(liumiaocn) groups=1001(liumiaocn) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[liumiaocn@liumiaocn root]$ echo $HOME
/home/liumiaocn
[liumiaocn@liumiaocn root]$ su -p liumiao
Password: 
bash: /home/liumiaocn/.bashrc: Permission denied
bash-4.2$ echo $HOME
/home/liumiaocn
bash-4.2$ id
uid=1000(liumiao) gid=1000(liumiao) groups=1000(liumiao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
bash-4.2$
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

3.4460s