网上有很多关于如何强制用户关机或离线资料,介绍了借用第三方的实用程序强迫用户在特定时间离线的方法。不过这种写资料都是针对的Windows计算机,那么如何在Linux系统上限制用户访问呢?
其实,强迫用户离线的真正含义也就是对用户账户的系统访问或系统服务实施时间限制。经过笔者的试验发现,实施时间限制的最简易的方法是使用一个称为Linux-PAM的插件模块。
PAM意即嵌入式认证模块,最初有SUN公司开发,不过它很快被Linux社区接受,并开发了更多的模块。我们可以认为它是一个对用户进行认证的机制。今天我们就看一下如何用pam_time模块控制用户的访问时间。
使用pam_time模块,我们可以设置在一天的不同时间或特定的某些天对一个系统或特定应用程序的访问限制,也可以设置在不同终端线缆上的访问限制。根据配置的不同,你可以使用这个模块来拒绝某些基于用户名称的访问,限制在某个时刻、某个星期的访问,拒绝对他们所请求的服务的访问,拒绝来自某个发送请求的终端访问。等等。
在使用pam_time时,你必须用一个新行来结束/etc/security/time.conf文件中每一行(或一条规则)的语法。你可以用“#”给每一行加上注释,系统会忽略此行直至新的一行出现。
下面我们展示一条规则的语法:
服务; tty; 用户名; 时间
具体解释如下:
第一个字段:服务,它是PAM服务名称的逻辑列表。
第二个字段:tty,它是终端名字的逻辑列表。
第三个字段:用户,它是用户或群组用户的列表。
第四个字段:时间,它指明可以适用的时间。
不能只是纸上谈兵,下面给出一个例子,这个例子展示的是一个典型的规则集合:
以下是引用片段:
login ;* ;!dare ;MoTuWeThFr0800-1900
login ;* ;!root ;!Al0000-2400
http ;* ;!dare ;MoTuWeThFr0800-1900
http ;* ;!root; !Al0000-2400
这些规则限制用户dare的登录时间为上午7点到晚上8点,而且在这段时间内还限制了其对互联网的访问。而root用户能够在任何时间登录,并可以随时浏览互联网信息。
Linux提供了许多对服务的控制方法。如果你想增强对用户的限制,不妨使用PAM这个模块来限制其访问和控制网络会话的利用。