首页 > 系统相关 >linux PAM可插拔认证模块介绍

linux PAM可插拔认证模块介绍

时间:2025-01-07 20:44:25浏览次数:1  
标签:插拔 text PAM etc linux id type pam

PAM(Pluggable Authentication Modules ) 介绍 通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开 使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段   流程图说明:
1、系统官理员通过PAM配置文件来制定不同应用程序的不同认证策略; 2、应用程序开发者通过在服务程序中使用PAM API(文件名格式pam_xxx)来实现对认证方法的调用; 3、PAM服务模块的开发者则利用PAM SPI来编写模块(主要调用函数pam_sm_XXX)供PAM接口库调用,将不同的认证机制加入到系统中; 4、PAM接口库(libpam.so)则读取配置文件,将应用程序和相应的PAM服务模块联系起来  
相关文件: pam接口库:/lib64/libpam.so.0 pam模块:/lib64/security/pam_* 模块配置文件:/etc/security/ #存放一些复杂的模块配置文件及说明 应用调用模块的配置文件:/etc/pam.d/ #每个应用单独创建一个文件,用于模块配置  
查看某个程序是否支持pam模块 ldd /usr/sbin/vsftpd | grep libpam
  /etc/pam.d/*配置文件格式: type control module-path arguments
 
参数说明: application:服务名 如:telnet、login、ftp等,服务名字“OTHER”代表所有没有在该文件中明确配置的其它服务 module-type:模块类型 control:PAM库该如何处理与该服务相关的PAM模块的成功或失败情况 module-path:用来指明本模块对应的程序文件的路径名 Arguments:用来传递给该模块的参数,当参数太多时,即用到了/etc/security/下的模板
   
常用模块介绍 1、pam_shells.so:检查有效shell环境 如/etc/pam.d/login 即检查/etc/shells下的shell类型,不在此文件的shell用户将禁止登录 pam_securetty.so:只允许root用户在/etc/securetty列出的安全终端上登录 如/etc/pam.d/remote   2、pam_nologin.so:禁止用户登录 当/etc/nologin文件存在时,将禁止非root用户登录 如果用户shell是/sbin/nologin时,当用户登录时,将显示/etc/nologin文件内容,并拒绝登录   3、pam_limits.so:用户级别实现对其使用资源的限制 修改限制的实现方式: 命令方式:ulimit,立即生效,当前终端有效 参数有 -n 每个进程最多的打开的文件描述符个数 -u 最大用户进程数 -S 使用soft(软)资源限制 -H 使用hard(硬)资源限制 配置文件方式:/etc/security/limits.conf,/etc/security/limits.d/*.conf 配置文件说明:每行一个定义:   如限制用户最多打开文件数和运行进程数 /etc/pam.d/system-auth session required pam.imits.o vim/etc/security/limits.conf apache - nofile 10240 用户apache可打开10240个文件 student hard nproc 20 用户student不能运行超过20个进程
 

标签:插拔,text,PAM,etc,linux,id,type,pam
From: https://www.cnblogs.com/gpysir/p/18658343

相关文章

  • 【Linux】【进程】进程的地址空间 虚拟地址 物理地址
    【Linux】【进程】进程的地址空间虚拟地址物理地址32位系统 a.32位操作系统可以访问4GB内存 b.cpu有八位位线每次访问8bit1字节 c.cpu有32根地址线每次访问2^32 d.因此是2^32字节-->4GB分为1GB的内核空间和3GB的用户空间内核空间1GB用户空间3GB64位系统......
  • 【Linux基础入门】
    Linux基础Linux常用指令vi编辑Linux常用指令pwd显示当前工作目录的绝对路径linux@ubuntu:~$pwd/home/linuxcd切换目录linux@ubuntu:/home$cd/home/linux//cd绝对路径linux@ubuntu:~$cd./Desktop///cd相对路径linux@ubuntu:~/Desktop$cd..//cd.......
  • linux系统串口终端软件显示异常解决方法,触觉智能出品
    本文介绍linux系统串口终端软件显示异常解决方法,以xshell软件为例。使用触觉智能的PurplePiR1双网口开发板演示,内置双核A71.2Ghz处理器,支持WiFi与丰富GPIO拓展,是嵌入式新人入门学习的高性价比开发板!使用resize命令调整终端命令终端大小不对的情况如下图:使用resize命令调整......
  • 如何在 Rocky Linux 9 上安装 SQLite 教程
    如何在RockyLinux9上安装SQLite教程简介:SQLite是一个轻量级的、嵌入式的关系型数据库管理系统。与传统的客户端-服务器数据库不同,SQLite将整个数据库存储在一个文件中,使得它非常适合于小型应用、嵌入式设备和本地数据存储。本教程旨在手把手教你如何在RockyLinu......
  • Linux命令行tar/zip/7z对文件分卷压缩/解压缩
    分为两部分,文件压缩/解压缩和文件校验。1.单文件压缩1.1自动tar#其中'*'替换为'gz','bz2','xz'等.$tar-acfhello.tar.*hello/1.2gz$tar-zcfhello.tar.gzhello/1.3bz2$tar-jcfhello.tar.bz2hello/1.4xz$tar-Jcfhello.ta......
  • Linux命令速成
    Linux一、Linux要点要在一个命令行上输入多条命令,可使用分号来分隔命令。比如cd/etc;ls–l。反斜杠“\”将一个较长的命令分成多行表达,换行后,shell自动显示提示符“>”,表示正在输入一个长命令,此时可继续在新行上输入命令的后续部分。Linux命令由”命令+选项+参数“......
  • Linux开机LOGO更换以及附带问题
    应用层更换Linux机器开机启动LOGO平台开机Logo默认是编译进内核的,更换起来很不方便,通过改写内核源码,可以实现应用层直接更换内核Logo。1.uboot相关修改网上教程一般会这么改"loadlogo=mmcread0x150000000x58000x2800;\0"\"runloadlogo;"\核心代码是mmcread0x150......
  • Linux文件系统的安全保障---Overlayroot!
    `overlayroot` 是一种使用 OverlayFS 实现的功能,可将根文件系统挂载为只读,并通过一个临时的写层实现对文件系统的修改。这种方法非常适合嵌入式设备或需要保持系统文件完整性和安全性的场景。下文以 RK3568 平台为例,介绍制作 overlayroot 的详细步骤。​1. 制作精简文......
  • Linux下安装paraview的疑难杂症&方法
    1.下载安装包(https://www.paraview.org/),linux则选择对应的linux版本。此网站下载速度较慢可以耐心等待。2.解压缩安装包:sudotar-xzvfParaView-5.12.1-MPI-Linux-Python3.10-x86_64.tar.gz-C/opt///解压缩到根目录下opt文件夹cd/opt/......
  • linux 服务器清理
    起因服务器报错:nospaceleftondevice翻译:设备上没有剩余空间解决方法清理数据,这里有个点要注意,对于重要文件,一定要备份。步骤1首先,需要确定哪个分区或目录占用了大量空间。df-h执行结果示例:FilesystemSizeUsedAvailUse%Mountedonudev......