二、为用户定义可用的命令集合。
有时候系统工程师需要为用户定义可用的命令集合或者工具。如在命令行中输入vi命令就会自动打开一个文本编辑器。对于Unix操作系统来说,其支持的文本编辑器有很多。为此系统工程师可能需要用户采用其指定的文本编辑器。此时除了通过删除软件包的方式来实现,还有其他的方式呢?因为如果把某个程序的软件包删除了,那么这个操作系统中的所有用户都无法使用这个应用程序。而现在系统工程师只想为某个用户指定特定的文本编辑器,而不影响其他用户的使用。可见,此时通过删除软件包的方式来实现的话,并不是很好的方式。其实,此时系统工程师可以通过PATH环境变量来实现这方面的控制。
当用户在shell中输入vi命令的时候,操作系统会从某些目录中查找这个命令的可执行文件的位置。而这些目录就是环境变量PATH所决定的。在Unix操作系统中,环境变量也分为系统级别的环境变量与用户级别的环境变量。默认情况下,当某个用户登录到系统时其采用的是系统级别的PATH环境变量。因为此时没有配置用户级别的PATH环境变量。在PATH环境变量中,定义着几个目录,目录之间会用冒号进行分割。操作系统就会从几个命令中去查找相关的可执行文件。如用户安装了某个应用程序,往往需要更改这个PATH环境变量,才可以正常运行这个应用程序。
所以,我们可以通过在用户级别设置这个PATH环境变量,来限制其可用的应用程序。如我们可能只允许用户使用邮件、PIS(一种即时聊天工具)等应用程序。系统工程师可以先建立一个文件夹,然后将这个文件夹下建立这些应用程序可执行文件的连接。最后把PATH目录指定到这个新建立的文件夹中即可。由于操作系统执行命令的时候,会从PATH环境变量指定的目录中去查找可执行文件。如果找不到的话,则就会提示错误信息。为此通过这种方式可以定义用户可以使用命令的集合。当然,系统工程师也可以通过为用户设置可执行文件的权限来实现。不过相对来说,还是这种方法简单、直观一点。
标签: