.
pam_securetty.so
限制系统管理员
(root)
只能够从安全的
(secure)
终端机登入;那什么是终端机?例如
tty1, tty2
等就是传
统的终端机装置名称。那么
安全的终端机设定呢?
就写在
/etc/securetty
这个文件中
。你可以查阅一下该文
件,
就知道为什么
root
可以从
tty1~tty7
登入,但却无法透过
telnet
登入
Linux
主机了!
.
pam_nologin.so
这个模块可以限制一般用户是否能够登入主机之用。当
/etc/nologin
这个文件存在时,则所有一般使用者均
无法再登入系统了
!若
/etc/nologin
存在,则一般使用者在登入时,
在他们的终端机上会½该文件的内容
显示出来!所以,正常的情况下,这个文件应该是不能存在系统中的。
但这个模块对
root
以及已经登入
系统中的一般账号并没有影响。
(
注意喔!这与
/etc/nologin.txt
并不相同!
)
.
pam_selinux.so
SELinux
是个针对程序来½行细部管理权限的功能,
SELinux
这玩意儿我们会在
第十六章
的时候再来详细
谈论。由于
SELinux
会影响到用户执行程序的权限,因此我们利用
PAM
模块,½
SELinux
暂时关闭,
等到验证通过后,
再予以启动!
.
pam_console.so
当系统出现某些问题,或者是某些时刻你需要使用特殊的终端½口
(
例如
RS232
之类的终端联机设备
)
入主机时,
这个模块可以帮助处理一些文件权限的问题,让使用者可以透过特殊终端½口
(console)
顺利
的登入系统。
.
pam_loginuid.so
我们知道系统账号与一般账号的
UID
是不同的!一般账号
UID
均大于
1000
才合理。
因此,为了验证
使用者的
UID
真的是我们所需要的数值,可以使用这个模块来½行规范!
.
pam_env.so
用来设定环境变量的一个模块,如果你有需要额外的环境变量设定,可以参考
/etc/security/pam_env.conf
个文件的详细说明。
.
pam_unix.so
这是个很复杂且重要的模块,这个模块可以用在验证½段的认证功能,可以用在授权½段的账号许可证管
理,
可以用在会议½段的登录文件记录等,甚至也可以用在密码更新½段的检验!非常丰富的功能!
个模块在早期使用得相当频繁喔!
.
pam_pwquality.so
可以用来检验密码的强度!包括密码是否在字典中,密码输入几次都失败就断掉此次联机等功能,都是这
模块提供的!
最早之前其实使用的是
pam_cracklib.so
这个模块,后来改成
pam_pwquality.so
这个模块,
但此模块完全兼容于
pam_cracklib.so
同时提供了
/etc/security/pwquality.conf
这个文件可以额外指定默认
值!比½容易处理修改!
.
pam_limits.so
还记得我们在
第十章谈到的
ulimit
吗?
其实那就是这个模块提供的能力!还有更多细部的设定可以参考:
/etc/security/limits.conf
内的说明。
了½了这些模块的大致功能后,言归正传,讨论一下
login
PAM
验证机制流程是这样的:
1.
验证½段
(auth)
:首先,
(a)
会先经过
pam_securetty.so
判断,如果使用者是
root
时,则会参考
/etc/securetty
的设定;
½下来
(b)
经过
pam_env.so
设定额外的环境变量;再
(c)
透过
pam_unix.so
检验密码,若通过则回