linux su命令的真正含义
来源:Ghost系统之家浏览:时间:2022-08-31 13:37:39
原问: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
这条命令一执行,也就完全退出了。
回答:我来为你解释吧! 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
这条命令一执行,也就完全退出了。
推荐系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(64位) 提供下载
语言:中文版系统大小:3.98GB系统类型:Win10雨林木风 Windows10 x64 企业装机版 版本1903 2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10深度技术 Windows 10 x64 企业版 电脑城装机版 版本1903 2022年7月(64位) 高速下载
语言:中文版系统大小:3.98GB系统类型:Win10电脑公司 装机专用系统Windows10 x64 企业版2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新雨林木风 Windows10 x86 企业装机版2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.15GB系统类型:Win10
相关文章
- 苹果mac登录界面怎么隐藏特定的用户账号?
- Win10剪切板在哪 Win10清空剪贴板教程
- Win10正式版什么时候出?最快7月底发布
- 关于linux(ubuntu 18.04) 中idea操作数据库失败的问题
- 双硬盘用户必升 Win10周年更新安装后出现的冻结问题确已修复
- Win10/Win7版OneDrive新技能:同步共享文件夹
- Win7如何批量安装字体?
- 在Windows 8中开启或关闭演示模式的方法(图)
- Win10创意者更新 Build 15060快速预览版更新修复内容汇总
- 微软公布升级Win10一周年更新的最佳途径
- win8.1电源键设置教程
- 苹果Mac通知中心怎么用?Mac通知栏设置使用技巧介绍
- 最新win102004/2009激活秘钥推荐 附激活工具
- Mac移动硬盘怎么格式化?Mac安装SSD后不读取磁盘的解决办法
热门系统
热门文章
常用系统
- 1新萝卜家园电脑城专用系统 Windows10 x86 企业版2021年4月(32位) ISO镜像高速下载
- 2联想笔记本&台式机专用系统 GhostWin7 32位旗舰版2018年5月(32位) ISO镜像免费下载
- 3深度技术Ghost Win8.1 x32位 特别纯净版2020年6月(免激活) ISO镜像高速下载
- 4笔记本&台式机专用系统 Windows10 喜迎国庆 企业版 2020年10月(64位) 提供下载
- 5雨林木风Ghost Win8.1 (64位) 万能纯净版2018年04(完美激活) ISO镜像免费下载
- 6雨林木风Ghost Win8.1 (X64) 极速纯净版2021年9月免激活) ISO镜像高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x86 企业版2021年12月(32位) ISO镜像高速下载
- 8新萝卜家园电脑城专用系统 Windows10 x86 企业版2020年1月(32位) ISO镜像高速下载
- 9新萝卜家园Ghost Win8.1 X64位 纯净版2021年2月(自动激活) ISO镜像高费下载