PAM认证机制详情

[root@yinzhengjie ~]# more /etc/pam.d/su | grep pam_rootok.so
#auth sufficient pam_rootok.so
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# su yinzhengjie
Password:
[yinzhengjie@yinzhengjie root]$ exit
exit
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# more /etc/pam.d/su | grep pam_rootok.so
auth sufficient pam_rootok.so
[root@yinzhengjie ~]# su yinzhengjie
[yinzhengjie@yinzhengjie root]$
[yinzhengjie@yinzhengjie root]$ exit
exit
[root@yinzhengjie ~]#
案例展示:(限制root切换用户也需要密码)
[root@yinzhengjie ~]# more /etc/pam.d/sshd | grep pam_access.so
auth required pam_access.so
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# tail - /etc/security/access.conf
#Add by yinzhengjie
-:root:ALL EXCEPT 10.0.0.0/ #只让root从10.0.0./24的网段访问
#-:root:10.0.0.0/ #拒绝从10.0.0./24这个C的地址访问过来。
#-:root:ALL EXCEPT 10.10.0.161 #拒绝从10.10.0.161这个IP访问过来。
[root@yinzhengjie ~]#
案例展示:(控制访问的源IP地址)
[root@yinzhengjie ~]# grep listfile /etc/pam.d/sshd
auth required pam_listfile.so item=user sense=allow file=/etc/yinzhengjie_ssh_users onerr=fail #注意,“onerr=fail”表示当文件“/etc/yinzhengjie_ssh_users”不存在时,默认为fail。
[root@yinzhengjie ~]# > /var/log/secure
[root@yinzhengjie ~]# tail -10f /var/log/secure
Feb :: yinzhengjie sshd[]: reverse mapping checking getaddrinfo for bogon [10.0.0.161] failed - POSSIBLE BREAK-IN ATTEMPT!
Feb :: yinzhengjie sshd[]: pam_listfile(sshd:auth): Couldn't open /etc/yinzhengjie_ssh_users
Feb :: yinzhengjie sshd[]: Failed password for root from 10.0.0.161 port ssh2
Feb :: yinzhengjie sshd[]: Received disconnect from 10.0.0.161: : The user canceled authentication.
^C
[root@yinzhengjie ~]# echo root > /etc/yinzhengjie_ssh_users
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# tail -10f /var/log/secure
Feb :: yinzhengjie sshd[]: reverse mapping checking getaddrinfo for bogon [10.0.0.161] failed - POSSIBLE BREAK-IN ATTEMPT!
Feb :: yinzhengjie sshd[]: pam_listfile(sshd:auth): Couldn't open /etc/yinzhengjie_ssh_users
Feb :: yinzhengjie sshd[]: Failed password for root from 10.0.0.161 port ssh2
Feb :: yinzhengjie sshd[]: Received disconnect from 10.0.0.161: : The user canceled authentication.
Feb :: yinzhengjie sshd[]: Accepted password for root from 10.0.0.161 port ssh2
Feb :: yinzhengjie sshd[]: pam_unix(sshd:session): session opened for user root by (uid=)
^C
[root@yinzhengjie ~]#
案例展示:(sshd的黑名单或白名单)
[root@yinzhengjie ~]# tail - /etc/security/time.conf
#Add by yinzhengjie
sshd;*;*;SaSu0900- #表示sshd服务的所有终端的所有用户只能在8-18点可以正登陆。
[root@yinzhengjie ~]#
案例展示:(基于时间限制sshd的访问)
[root@yinzhengjie ~]# grep pam_tally2.so /etc/pam.d/sshd
auth required pam_tally2.so deny= even_deny_root root_unlock_time= unlock_time= #表示当用户输入次数超过2次时,锁定用户60秒,因此这里的“even_deny_root ”表示包括root用户,“root_unlock_time”表示root用户锁定的时间,“unlock_time”表示其他用户锁定的时间。
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# pam_tally2 --reset -u root #这里表示手动解锁。
Login Failures Latest failure From
root
[root@yinzhengjie ~]#
案例展示:(实现防止对sshd暴力破解)
[root@yinzhengjie ~]# ulimit -a
core file size (blocks, -c)
data seg size (kbytes, -d) unlimited
scheduling priority (-e)
file size (blocks, -f) unlimited
pending signals (-i)
max locked memory (kbytes, -l)
max memory size (kbytes, -m) unlimited
open files (-n)
pipe size ( bytes, -p)
POSIX message queues (bytes, -q)
real-time priority (-r)
stack size (kbytes, -s)
cpu time (seconds, -t) unlimited
max user processes (-u)
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@yinzhengjie ~]# ulimit -n [root@yinzhengjie ~]#
[root@yinzhengjie ~]# tail - /etc/security/limits.conf
#Add by yinzhengjie
* soft nofile
* hard nofile
* soft nproc
* soft cpu
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# exit
logout
Last login: Sun Feb :: from 10.0.0.161
[root@yinzhengjie ~]# ulimit -n [root@yinzhengjie ~]#
案例展示:(调整最大打开的文件数)
[root@yinzhengjie ~]# which sshd
/usr/sbin/sshd
[root@yinzhengjie ~]# which login
/bin/login
[root@yinzhengjie ~]# ldd /usr/sbin/sshd | grep pam
libpam.so. => /lib64/libpam.so. (0x00007f2c196cf000)
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# ldd `which login` | grep pam #注意,ldd命令是查看进程文件支持的动态库,而ldconfig是可以查看已经加载的动态库。我们可以用“ldconfig -p”来打印当前操作系统已经加载的动态库。
libpam.so. => /lib64/libpam.so. (0x000000323b200000)
libpam_misc.so. => /lib64/libpam_misc.so. (0x0000003230a00000)
[root@yinzhengjie ~]#
PAM认证机制详情的更多相关文章
- PAM认证机制
PAM:Pluggable Authentication Modules 认证库:文本文件,MySQL,NIS,LDAP等 Sun公司于1995 年开发的一种与认证相关的通用框架机制 PAM 是关注如 ...
- CentOS-pam认证机制简介
前言 linux下PAM模块全称是Pluggable Authentication Module for linux(可插入式授权管理模块),该由Sun公司提供,在Linux中,PAM是可动态配置的, ...
- AIDE,sudo,TCP_Wrappers,PAM认证等系统安全访问机制
AIDE 高级入侵检测环境:是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过了. AIDE能够构造一个指定文件的数据库,它使用aide.conf作为其配置文件.AIDE数 ...
- PAM认证
PAM认证 摘自: http://www.cnblogs.com/shenxm/p/8451889.html PAM(Pluggable Authentication Modules) Sun公司于1 ...
- 什么是PAM认证
PAM(Pluggable Authentication Modules )是由 Sun 提出的一种用于实现应用程序的认证机制.其核心是一套共享库,目的是提供一个框架和一套编程接口,将认证工作由程序员 ...
- Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结
Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...
- WPS 认证机制
WPS 认证机制 WPS(Wi-Fi Protected Setup,Wi-Fi保护设置)(有的叫做AOSS.有的叫做QSS,不过功能都一致.)是由Wi-Fi联盟组织实施的认证项目,主要致力于简化无线 ...
- 基于Token的WEB后台认证机制
几种常用的认证机制 HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RES ...
- HTTP中的摘要认证机制
引子: 指定和服务器端交互的HTTP方法,URL地址,即其他请求信息: Method:表示http请求方法,一般使用"GET","POST". url:表示请求 ...
随机推荐
- springboot项目生成jar包(带静态资源)方法
[Maven]在pom.xml文件中使用resources插件的小作用 不过war包比较实用,毕竟独立的tomcat比较好控制
- datatables.js 简单使用--弹出编辑框或添加数据框
内容:选中某一条记录,弹出编辑框 环境:asp.net mvc , bootstrap 显示效果: 代码: 至于怎么弄多选框,在上一篇博客里已经有说明. 主要用到了bootstrap的模态窗,下面代 ...
- PowerBI开发 第八篇:查询参数
在PowerBI Desktop中,用户可以定义一个或多个查询参数(Query Parameter),参数的功能是为了实现PowerBI的参数化编程,使得Data Source的属性.替换值和过滤数据 ...
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(一)Java语言中System.out.print与Log的比较
作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 前言 距离上一次更新博客有一段时间了,主要是因为最近有开发任务,另外 ...
- linux中使sqlplus能够上下翻页
安装包链接:https://pan.baidu.com/s/1WsQTeEQClM88aEqIvNi2ag 提取码:s241 rlwrap-0.37-1.el6.x86_64.rpm 和 rlwra ...
- Docker部署Registry私有镜像库
拉取镜像 docker pull registry:2.6.2 生成账号密码文件,这里采用htpasswd方式认证 docker run --rm --entrypoint htpasswd re ...
- 区块链Hyperledger Fabric 学习记录(一)开发环境搭建(ubuntu16.04/ubuntu18.04)
目录 Fabric开发环境搭建 更新说明 教程环境及软件版本 Docker 安装Docker 配置用户组 配置Aliyun Docker加速器 安装docker-compose Go 下载源码 安装源 ...
- 了不起的Node.js--之三
开发工具: 我使用的开发工具是Mac版的WebStorm,这个工具支持Nodejs,只要按照如下步骤设置即可以支持 1.WebStorm的开发界面,这个开发工具还是非常好用的. 2.WebStorm的 ...
- PAT甲题题解-1069. The Black Hole of Numbers (20)-模拟
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789244.html特别不喜欢那些随便转载别人的原创文章又不给 ...
- PAT甲题题解-1126. Eulerian Path (25)-欧拉回路+并查集判断图的连通性
题目已经告诉如何判断欧拉回路了,剩下的有一点要注意,可能图本身并不连通. 所以这里用并查集来判断图的联通性. #include <iostream> #include <cstdio ...