加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 操作系统、建站、物联安全、数据计算、机器学习!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux更换用户命令是什么?怎样使用?

发布时间:2023-08-03 09:43:19 所属栏目:Linux 来源:转载
导读:   本教程操作环境:CentOS 6系统、Dell G3电脑。



   linux切换用户的命令是“su”。



   u 是最简单的用户切换命令,通过该命令可以实现任何身份的切换,
  本教程操作环境:CentOS 6系统、Dell G3电脑。
 
      linux切换用户的命令是“su”。
 
      u 是最简单的用户切换命令,通过该命令可以实现任何身份的切换,包括从普通用户切换为 root 用户、从 root 用户切换为普通用户以及普通用户之间的切换。
 
  普通用户之间切换以及普通用户切换至 root 用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换;从 root 用户切换至其他用户,无需知晓对方密码,直接可切换成功。
 
      su 命令的基本格式如下:
 
  # su [选项] 用户名
 
      选项:
 
  -:当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 - 选项可省略用户名,默认会切换为 root 用户。
 
  -l:同 - 的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号。
 
  -p:表示切换为指定用户的身份,但不改变当前的工作环境(不使用切换用户的配置文件)。
 
  -m:和 -p 一样;
 
  -c 命令:仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令。
 
      【例 1】
 
  [lamp@localhost ~]$ su -root
 
  密码: <-- 输入 root 用户的密码
 
  #"-"代表连带环境变量一起切换,不能省略
 
      【例 2】
 
  [lamp@localhost ~]$ whoami
 
  lamp
 
  #当前我是lamp
 
  [lamp@localhost ~]$ su - -c "useradd user1" root
 
  密码:
 
  #不切换成root,但是执行useradd命令添加user1用户
 
  [lamp@localhost ~]$ whoami
 
  lamp
 
  #我还是lamp
 
  [lamp@localhost ~]$ grep "user1' /etc/passwd
 
  userl:x:502:504::/home/user1:/bin/bash
 
  #user用户已经添加了
 
      除了像例 2 这样,执行一条命令后用户身份会随即自动切换回来,其他切换用户的方式不会自动切换,只能使用 exit 命令进行手动切换,例如:
 
  [lamp@localhost ~]$ whoami
 
  lamp
 
  #当前我是lamp
 
  [lamp@localhost ~]$ su - lamp1
 
  Password:   <--输入lamp1用户的密码
 
  #切换至 lamp1 用户的工作环境
 
  [lamp@localhost ~]$ whoami
 
  lamp1
 
  #什么也不做,立即退出切换环境
 
  [lamp1@localhost ~]$ exit
 
  logout
 
  [lamp@localhost ~]$ whoami
 
  lamp
 
      su 和 su - 的区别
 
      注意,使用 su 命令时,有 - 和没有 - 是完全不同的,- 选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的。我们知道,环境变量是用来定义操作系统环境的,因此如果系统环境没有随用户身份切换,很多命令无法正确执行。
 

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章