我们来讲一下Unix操作系统的知识。Unix操作系统是一个比较完善的多用户操作系统。多个用户可以在同一个Unix操作系统上进行各自的操作,而不会发生相互的干扰。不过为了提高Unix操作系统多用户操作的安全性,Unix工程师仍然要采取一些必要的措施。今天,我们来对shell的使用进行限制。
对shell的使用进行限制
Shell是用户跟Unix操作系统内核进行沟通的一个工具。默认情况下,不同的用户其采用的shell功能是相同的。但是当Unix操作系统有多个用户在使用的话,就需要对某些用户的shell 功能进行限制。如需要限制用户使用cd命令,即不允许用户随意更改当前目录。用户所创建的所有文件与目录都必须在其自己的主目录下面,即home/用户名目录下。
在Unix操作系统下可以实现类似的控制。当为某个用户采用了限制版本的shell之后,则这个用户只能够执行位于某些特定目录下面的程序。通常情况下这个目录是由一个完全不同的Path变量所决定的,而且他的值用户不能够改变,一般情况下就把这个目录设置为当前目录。
为了限制某个用户的活动或者可以采用的命令,系统工程师需要创建一个用户帐号,并只允许他使用某个特殊的受到一定限制的shell。通常情况下,现在的shell 版本都基本上能够支持这个功能。一般来说,如果系统工程师指定用户使用受限制的shell,那么这个用户就可能受到如下的限制。
一是这个用户不能够使用CD命令进行目录的切换。也就是说,此时用户只能够在Unix操作系统设置的当前目录中进行操作。这对于普通用户来说,是一个非常有用的限制措施。由于他们不能够在目录之间进行切换操作,那么也就不会对其他用户的资料造成无意或者有意的损坏,有利于其他用户资料的安全性。
二是对命令的使用有所限制。当对用户采用了限制版本的shell之后,这个用户就不能够使用含有“/”的路径。也就是说这个用户不能够用相对路径或者绝对路径执行一个命令。另外,也不能够更改Path变量。
Path变量为shell 提供了定位可执行文件的搜索路径。当用户向系统发出一个指令时,shell就会按这个Path变量所设置的搜索路径的顺序查找这个命令文件,如果找到了这个命令文件就执行这个文件;找不到的话就提示错误信息。这也就是说这个用户不能够访问保存在其他目录里的命令。为此设置让用户采用限制版本的shell,可以限制用户的某些行为。
如Unix操作系统工程师可以把这个用户可以用的命令预先在Path变量中设置;然后把不允许的命令路径从path变量中删除。如此的话就可以限制用户“可以做什么;不可以做什么”。对用户可以使用的命令进行限制,可以保障其他用户的安全。
三是不能够使用一些特定的操作符号。如在Unix操作系统中,可以利用ls –i > ls_list命令。这个命令的意思就是查询当前目录下的所有文件与目录相关信息,并把查询结果写入到一个文件中。但是如果未某个用户指定了受限版本的shell之后,则这个用户就不能够使用包括>在内的一些特殊操作符。如不能够使用>或者>>操作符号创建文件或者把某些内容追加到现有文件中去。
从以上的分析中可以看出,采用受限版本的用户只能够执行特定目录下的命令。如果系统工程师需要让某个受限用户来执行其他目录下的命令,也是可以的。此时就需要用到笔者以前文章中谈到过的硬连接的功能。
如现在Unix操作系统工程师允许使用/bin/ifconfig这个命令。由于这个目录通常不再用户的当前目录下,而且用户又能够使用带/符号的路径名称,那该如何处理呢?其实很简单,系统工程师指需要利用in名称在用户的当前目录下创建这个命令的连接即可。此时系统就会根据这个连接去打开其原命令文件。
若系统工程师现在所采用的shell版本不支持受限shell该如何处理呢?其实这也很好解决。如果用户现在所使用的系统中没有一个受限的shell,此时系统工程师可以结合标准的shell环境与-r可选项一起使用,来达到类似的目的。如笔者可以利用sh –r等类似的命令让shell强制以受限的模式运行。
不过这里需要注意的是,通常情况下Unix操作系统工程师不能够把这些命令加入到/etc/passwd文件中。故系统工程必须先运行普通的shell环境,然后再在启动文件中利用exec命令来启动这些命令,并且必须把Path变量设置为一个目录。
可见此时设置起来比较麻烦。为此笔者的意见是,如果Unix操作系统工程师真的要让用户采用受限的shell,那笔者还是建议采用本身就有类似的功能的shell版本为好。如果用户当前使用的shell版本没有一个受限的shell,那么笔者建议把这个shell进行升级。因为如果按照如上的配置与shell版本升级的工作量来说,没有多大的差别。
故如果条件允许的情况下,还是直接给用户采用支持受限shell的软件为好,以减少后续维护与部署的工作量。我们对Unix操作系统的知识就了解到这里吧。
【编辑推荐】