linux su命令的真正含义,linuxsu命令

linux中,我以root登录,和以其他用户登录然后使用su命令切换至root用户,有什么不一样,如果一样的话,我执行su命令之后,其他的用户还在不在系统中?本人在执行su后,试图删除其他用户,linux提示,其他用户logged in?why

原问:linux中,我以root登录,和以其他用户登录然后使用su命令切换至root用户,有什么不一样,如果一样的话,我执行su命令之后,其他的用户还在不在系统中?本人在执行su后,试图删除其他用户,linux提示,其他用户logged in?why

回答:我来为你解释吧! unix系统里,当用户登录时会为每个用户创建一个shell进程,提供交互功能,如果你使用的是bash,那么这个shell进程就是bash,使用的ksh,这个进程就是ksh,其他shell也是一样。

而对于进程而言,在它的进程PCB(进程控制块)里,有实际用户ID和有效用户ID这两个值,所谓实际用户ID是指该进程是以什么身份创建的,比如:我当前是root用户,我创建的进程的实际用户ID就是root的ID,一般为0。而有效用户ID是指对该进程当前拥有使用权限的用户的ID,比如我有一辆车,我把它组出去了,这个车的拥有者是我,但是使用权限却不是我的。

一般情况下实际用户ID和有效用户ID都是相同的,su命令就是拥有这样的功能,让一个进程可以以命令拥有者的权限运行,即可以使进程的实际用户ID和有效用户ID不相同。你可以用ls -l去查看su这个命令,在它的拥有者的x权限位上写的一定是个s(小s),passwd命令也是一样,他们拥有相同的功能。这个s位的意思是 执行该命令的用户可以以该命令的拥有者权限来执行,如果你把这个s位取消了,也就只有su的拥有者可以su了。

现在来进一步解释下吧,希望你能看的懂。

当我们以root执行su时,su命令会以当前shell进程为父进程来创建一个新的shell进程,这个shell进程是提供给我们所要su到的那个用户使用的,而root的shell进程仍然存在,反过来也是一样的,这就是你所问的问题的原因,因为之前那个用户的shell进程还没关闭,你可以使用exit退出一下,可以看到,并不是退出登录了,而是回到之前的那个用户去了。因为它们是父子进程的关系,子进程的结束当然 不会影响到父进程的执行了。但是我们如果强行杀死父进程,那就直接退出了。

其实很多人并不了解,whoami和who am i的区别,他们的作用是不同的。

who am i 显示当前shell进程的实际用户ID。

whomai 显示当前shell进程的有效用户ID。

很多时候,这两个输出是一样的,以至于我们以为这两个命令的作用是相同的。

实例:root@yunhw-Aspire-4750G:~# who am i

root pts/0 2011-12-10 13:13 (:0.0)

root@yunhw-Aspire-4750G:~# whoami

root

root@yunhw-Aspire-4750G:~#ps -ef

root 2939 2935 0 13:18 pts/0 00:00:00 bash

root@yunhw-Aspire-4750G:~# su - yunhw

yunhw@yunhw-Aspire-4750G:~$ who am i

root pts/0 2011-12-10 13:13 (:0.0)

yunhw@yunhw-Aspire-4750G:~$ whoami

yunhw

root@yunhw-Aspire-4750G:~#ps -ef

root 2939 2935 0 13:18 pts/0 00:00:00 bash

yunhw 2958 2939 0 13:19 pts/0 00:00:00 su - yunhw

yunhw 2966 2958 7 13:19 pts/0 00:00:00 -su

root@yunhw-Aspire-4750G:~#sudo kill -9 2939

这条命令一执行,也就完全退出了。

linux中 su - 的含义,及其作用是什?

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。如图:

Linux下 su命令与su - 命令有什不同?

su 是切换到其他用户,但是不切换环境变量(比如说那些你用export命令查看一下,就知道两个命令的区别了)

su - 是完整的切换到一个用户环境

linux su 的含义,linux su命令的真正含义,linuxsu命令相关推荐

  1. linux修改su的PAM配置文件,linux pam安全认证模块su命令的安全隐患

    PAM安全认证 1.su命令的安全隐患 默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root)的登录密码,带来安全风险.为了增强sum命令的使用控制,可以借助PAM认证模块, ...

  2. linux su无效_Linux下su命令无反应的解决办法

    一.问题产生环境 CentOS 6.3 X64 SecureCRT 7.0.0 英文版 二.问题具体描述 今天操作自己的一台Linux服务器时,突然su命令不好使了,敲入命令回车后,没有任何反应,不管 ...

  3. linux su无效_linux的su命令无法使用

    linux的su命令无法使用是怎么回事呢?下面由学习啦小编为大家搜集整理了linux的su命令无法使用的相关知识,希望对大家有帮助! linux的su命令无法使用 问题具体描述 今天操作自己的一台Li ...

  4. linux 切换su - u,Linux怎么切换用户之su命令使用指引

    1. su命令详解 本文主要讲解Linux怎么使用su命令切换用户,该命令用于切换当前用户到其他用户,如果由非root切换到其他账号时须输入目标帐号密码,root用户切换到其他用户,无须用户密码. 2 ...

  5. 【Linux篇】kali Linux下的su、sudo命令用法说明

    [Linux篇]kali Linux下的su.sudo命令用法说明 ​ 总结一下su.sudo命令用法区别-[suy] 文章目录 [Linux篇]kali Linux下的su.sudo命令用法说明 1 ...

  6. linux sudo -i 参数,Linux系统中su、sudo、sudo su、sudo -i命令的用法和区别小结

    在Linux系统软件中,因为root的权限过大,一般状况也不应用它.只能在一些独特状况下能选用登陆root实行管理方法每日任务,一般状况下临时性应用root权限多选用su和sudo命令. su命令就是 ...

  7. linux命令 su和sudo,Linux中sudo和su的区别

    介绍:主要对su和sudo的功能,区别以及使用进行介绍. 两者之间的区别 su用于用户之间的切换: sudo用于普通用户可以使用root权限来执行指定命令: 命令介绍 1. su su简介 su用于用 ...

  8. Linux五部分的含义,Linux 目录下部分重要目录的用途及含义及一些命令的作用

    Linux根目录下部分重要目录的用途及含义 /proc:这个目录是系统内存的映射,我们可以直接访问这个目录来获取系统信息.也就是说,这个目录的内容不在硬盘上而是在内存里. /sys:系统 (syste ...

  9. 为什么linux远程一进入sudo su就卡住_Linux 实战(上)

    什么是Linux Linux有两种含义: 一种是 Linus 编写的开源操作系统的内核 另一种是广义的操作系统 服务器端通常强调稳定性,不需要像客户端那样华丽的图形界面. 2. Linux 内核版本和 ...

最新文章

  1. Android aar 代码查看
  2. 2012年技术图书大盘点
  3. 仿微信的网络聊天室项目开发【完整源码讲解,Java一年工作经验面试题
  4. 初看Mybatis 源码 (二) Java动态代理类
  5. windows mysql主主配置_基于docker MySQL数据库主主同步配置(windows上)
  6. python多线程gil_Python 多线程、多进程 (一)之 源码执行流程、GIL
  7. wxHtml 示例:帮助测试
  8. 六、区块链主流共识算法浅析
  9. 【XML】我所知道的XML
  10. 如何理解create_singlethread_workqueue是严格按照顺序执行的
  11. c51步进电机程序汇编语言,51单片机驱动步进电机(汇编语言)
  12. 终端上网_TP-Link企业路由器IPv6上网配置指导
  13. 4.文件读取操作_read函数
  14. 计算机三级嵌入式系统知识点考查(易错)
  15. python编写函数判断奇偶数_python判断奇数
  16. 基于 arm 设计开发工具包的 Arm Cortex-M3 处理器设计(第二章:示例微处理器组成及各个Verilog文件功能及作用)
  17. 最长的指定瑕疵度的元音字串
  18. 感谢有你 | LiveVideoStackCon 2021 上海站优秀出品人、讲师与志愿者
  19. 2021年全球手持式工业红外线测温仪行业调研及趋势分析报告
  20. 阿里云创始人王坚:你要相信你所坚持的

热门文章

  1. Angular2组件与Echarts饼状图交互之饼图制作
  2. 2018沈阳k(经典的约瑟夫环)
  3. 主机开机主板cpu灯和dram灯轮流亮的问题解决
  4. Python利用selenium简单的爬取网易云歌曲排行榜
  5. 使用win10自带功能,横屏、竖屏显示器分别设置壁纸
  6. python绘制图形沙漏_sandglass(沙漏)——一个让人解脱的python时间处理库
  7. uni-app 微信小程序端-AirKiss一键配网
  8. 血药谷浓度能否区分经TNF拮抗剂诱导获得缓解和低活动度的RA患者
  9. 解一元二次方程-Java语言实现
  10. 马斯克为什么这么厉害?底层有一套强大的思维方式!