Chinaunix首页 | 论坛 | 博客
  • 博客访问: 109649
  • 博文数量: 55
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-13 10:59
文章分类
文章存档

2011年(1)

2009年(37)

2008年(17)

我的朋友

分类: LINUX

2009-09-24 10:48:08

插入式验证模块(Pluggable Authentication Module,PAM)API 将公开一组功能,应用程序程序员可以使用这些功能来实现与安全性相关的功能,例如用户验证、数据加密、LDAP 等。

    PAM 的主要特征表现为通过 /etc/pam.d目录下面的文件中的设置体现的。

    系统中可支持的pam模块可以在/lib/security/中找到。

    pam_succeed_if可以对用户登陆做一些限制,如果满足pam_succeed_if所定义的条件,那么接受。这个模块没有配置文件。直接修改需要配置的模块就可以。
此模块的使用方式如下:
     pam_succeed_if.so [flag...] [condition...]

    其中flag可以是debug、use_uid、quiet、quiet_fail、quiet_success。其中quiet表示不记录日志信息,详见man。

    condition可以是如下格式
    field < number     field = string    field in item:item   user ingroup group
    其中field可以是user, uid, gid, shell, home 或者 service,比如:
    uid < 500
    gid eq 500
    user = root
    user ingroup admin
   下面是一个详细的例子
    auth        required      pam_succeed_if.so uid < 500

    ## 注: 只能允许uid小于500的用户登陆到系统。


    在/etc/pam.d/system-auth和/etc/pam.d/kde文件中添加如上行,然后使用uid大于等于500的work用户登录系统,系统拒绝,root可以登录系统。从日志/var/log/secure中可以看到如下信息:
Jul  6 17:26:18 DC5 kdm: :0[5382]: pam_succeed_if: requirement "uid < 500" not met by user "work"
Jul  6 17:26:32 DC5 kdm: :0[5382]: pam_succeed_if: requirement "uid < 500" was met by user "root"



    只在/etc/pam.d/system-auth文件中添加如下行,则只拒绝root用户,ssh登录、本地登录和su都是如此
auth        required      pam_succeed_if.so user != root

    从日志/var/log/secure中可以看到如下信息:
Jul  6 17:59:14 DC5 su: pam_succeed_if: requirement "user != root" not met by user "root"
Jul  6 17:59:35 DC5 sshd[5869]: pam_succeed_if: requirement "user != root" not met by user "root"
Jul  6 18:02:15 DC5 login: pam_succeed_if: requirement "user != root" not met by user "root"



    在此可以使用quiet参数,不记录日志到secure之中。具体参数见如下man文档:
阅读(2480) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~