Linux下su命令的实例讲解

shine拯救视界

shine拯救视界

2016-02-19 20:14

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

Linux下的su命令主要用于切换用户,可将普通用户与超级用户相互切换,那么su命令有哪些用途呢?使用su命令后,其他用户是否还在呢?下面随图老师小编一起来看看Linux下su命令的实例讲解吧。

 Linux下su命令的实例讲解

原问: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)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

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)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

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

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

上面就是Linux下su命令的用法介绍了,通过su命令使用问题的讲解来给大家详细介绍其具体的用法,也给遇到该问题的用户做个参考,你学会了吗?

展开更多 50%)
分享

猜你喜欢

Linux下su命令的实例讲解

电脑入门
Linux下su命令的实例讲解

Linux下mv命令实例讲解

电脑入门
Linux下mv命令实例讲解

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux下rz命令使用的实例详解

电脑入门
Linux下rz命令使用的实例详解

Linux下route命令操作实例汇总

电脑入门
Linux下route命令操作实例汇总

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

LINUX下简单命令

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
LINUX下简单命令

Linux使用watch命令的实例

电脑入门
Linux使用watch命令的实例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

winsows 7打开关闭windows功能显示空白

winsows 7打开关闭windows功能显示空白

分享Windows XP系统蓝屏故障的速查攻略

分享Windows XP系统蓝屏故障的速查攻略
下拉加载更多内容 ↓