su

  使自己暂时变成超级用户

  请不要误会了这个命令的中文解释。当然,可能很多人都想变成超级用户,如果这个命令就能让人人都“变”,岂不大乱?

  比较精确一点的描述是这样,当某个普通用户正用到一半,发觉系统有问题时,找来超级用户查看。

  于是超级用户坐在他的机器前面,查看许久,发觉如果以这个人的权限并没有办法解决问题。于是他就输入su 命令,并且回答他才知道的 root 密码,这时,他就马上拥有超级用户的所有处理权限了。并不需要先将这个人的账号注销,再重新用root 登录。

  再一种可能是,其实超级用户并不需要天天都用root 的身份办事。他平常也是和大家一样打打文书、报表,玩玩遊戏,并没有使用root 权利的必要,所以他可能还有另外一个一般等级的账号使用,平常就装成普通人,在那里打文书报告。这样也可以避免他用 root 身份打报告,但是待会儿起身去洗手间的时候,被有心人拿他的机器来操作而根本不需知道密码。

  当然,突然有事发生的时候,这位仁兄就会走进附近的电话亭,走出来的时候,他已经变成了超人。不,超级用户。他只要输入一个su以及他的密码,马上就能替大家解决重大的系统问题。

  好了,您有没有注意到,从头到尾,最后用 su 的那个人,仍然是同一个人,就是知道密码的那一个人。并没有谁变成了超级用户。

  练习:

  (1)如果您是超级用户,才能练习这道题。到一般用户已经登录的机器上,下达 su 命令并回答密码试试看,权限是否有提升?

  (2)如果您是超级用户,才能练习这道题。请您另外创建一个一般账号,做日常事务。而真有事需要超级用户处理时,您才用su 命令并回答密码处理。

sudo 某命令

  暂时以超级用户身份执行某命令

  如果您是超级用户,而您打算要请假,却又不想把 root 密码告诉别人。这时您可以叫您的代理人在有必要的情况下,用 sudo 执行某些只有您可以执行的命令。

  sudo 后面接着的就是原本只有超级用户才能执行的命令,譬如 shutdown 关机。

  您放心,执行sudo 的人,要回答的只是他自己的密码,您的密码仍得以保密。当然,也并不是每个人都有执行 sudo 的权利。而是限于被您列在 /etc 中的sudoers名单中的人,甚至连他可以执行的命令,都被您明列在那份名单中,他别想趁您休假时胡作非为……

  所以,您应该可以想像到这份名单也事涉复杂吧!我们在这里就不谈名单的编辑了。如果您是超级用户所委讬的 sudo 人员,您就乖乖地做您该做的命令就是了,UNIX 系统可不是随随便便就有漏洞的!

  练习:

  因为 sudo 名单编辑较困难,所以本小节省略练习。

  uname [-选项]

  显示目前的版本等系统信息

  uname 可以知道您现在所用的操作系统的版本、硬件的名称等种种数据。这个命令没有什么变化,我们直接列出选项供您选用就可以了:

  l -m 显示硬件的型号。

  l -n 显示网络节点的名称。

  l -r 显示操作系统是第几个 release 版本(release 比version小)。

  l -s 显示操作系统名称。

  l -v 显示操作系统是第几个 version 版本。

  l -a 全显示出来。

  各选项的效果如图2-28所示。

Linux的多人多工命令_休闲
图2-28 查看系统信息

  练习:

  请用 -a 选项全部查阅一下您现在所用的操作系统信息。

who [-选项]

  显示目前有哪些人在使用

  who 命令很简单,就是查一下目前有谁在使用。

  如果您现在是使用单人单机,能否练习这个命令呢?还是可以的。

  我们提到过,Linux 系统默认有6个虚拟终端机。我们可以用【Ctrl+Alt+F1】, 【Ctrl+Alt+F2】, …【Ctrl+Alt+F6】分别把这几个终端机按出来。那么您就可以从各个虚拟终端机登录,然后用 who 命令查看是不是能监视到这些人。如图2-29所示。

Linux的多人多工命令_Linux_02
图2-29 用who命令的结果

  练习:

  一般用户可以从两个以上的虚拟终端机进行登录吗?超级用户呢?

  whoami

  显示目前自己是谁

  这个命令的意思直译很有趣:“我是谁”?怎么会有人忘了他是谁呢?

  应该是没有人会忘记他是谁,但是我们举一个例子说明这个命令的用途:

  办公室里黄×××和李先生每天都要在同一台UNIX的终端机上操作。有一天周末下午,超级用户来办公室,看到电脑没有关,人都下班跑光了。于是分别打黄×××和李先生的手机,告诉他们下次要记得注销和关电脑。(注:关掉他们的终端机,不是关掉主系统。)

  黄×××坚持说她关了电脑,李先生说他好像也关了,太忙了,忘记了临走前又开过一次然后忘了关呢,还是黄×××没关。

  这时,超级用户只要走到终端机前面,输入一个whoami,答案不就出来了?

  练习:

  练习看看吧!你是谁?