常用的Linux可插拔认证模块(PAM)应用举例:pam_limits.so.pam_rootok.so和pam_userdb.so模块 pam_limits.so模块: pam_limits.so模块的主要功能是限制用户会话过程中对各种系统资源的使用情况.缺省情况下该模块的配置文件是/etc/security/limits.conf.而该配置文件的基本格式实际上是由4个字段组成的表,其中具体限制的内容包括: Domain type item value 用户名/组名 软/硬限制 具体值 cor…
pam_access.so模块 pam_access.so模块主要的功能和作用是根据主机名(包括普通主机名或者FQDN).IP地址和用户实现全面的访问控制.pam_access.so模块的具体工作行为根据配置文件/etc/security/access.conf来决定.该配置文件的主体包含了三个字段——权限.用户和访问发起方.格式上是一个用“:”隔开的表. 第一个字段:权限(permission),使用“+”表示授予权限,用“-”表示禁止权限. 第二个字段:用户(user),定义了用户.组以及用…
PAM的配置文件: 我们注意到,配置文件也放在了在应用接口层中,他与PAM API配合使用,从而达到了在应用中灵活插入所需鉴别模块的目的.他的作用主要是为应用选定具体的鉴别模块,模块间的组合以及规定模块的行为.下面是一个示例配置文件:   # cat /etc/pam.d/system-auth: #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig i…
六.Linux 操作系统安全登陆设计 自己编写PAM 模块并编译成动态链接库so 文件,将其添加进/etc/pam.d/login 文件中实现命令行安全登陆设计,将其添加进/etc/pam.d/lightdm 文件中实现图形界面的安全登陆.安全登陆的密码根据时间戳的复杂组合,使登录密码每十秒更改一次.用户需要在安全主机上安装相同加密算法的程序,获取实时更改的密钥以登录Linux 操作系统.本章将重点讲解Linux 操作系统安全登陆设计,包括程序设计以及实时密钥设计. 6.1 Linux-PAM…
1.为什么要使用PAM 为了让用户更合理地使用系统,应用程序或服务(如sshd.login.su.password.ftp等)不可避免地需要对用户进行安全认证,若按照各自的规则去配置非常耗费时间和精力且不能重用. 而PAM提供了统一的API,使应用程序的访问控制变得简单方便. 2.介绍 官方地址:http://www.linux-pam.org/ 2.1 流程说明 当某个应用程序或服务需要使用PAM来进行认证时,只要它支持PAM,就可以通过修改其相应的PAM配置文件,加放所需要的认证方式.当重新…
#!/bin/bash path="/sys/devices/platform/soc/fd880000.i2c-pld/i2c-0/i2c-4/i2c-15/15-0060" arry=(module_interrupt module_present)#定义数组元素,可以扩展为多个,或仅为一个元素 for f_log in ${arry[*]} do rm -rf $f_log*.log done for i in {1..32} do echo "############…
首先,在使用Prism框架加载的程序集中分别添加一个类,并让这些类实现IModule接口.当Prism框架加载某个程序集后,将首先在程序集中搜索实现了该接口的类.之后将会调用该接口的Initialize方法.于是,我们可以在这个方法中实现程序集内部的初化始操作,或者执行某个动作.通过这种机制,可以实现程序集的完全解藕.具体的操作如下: 1. 在CalculatorLibrary 程序集中添加一个类:CalculatorModule,并让其实现IModule接口.代码如下:  2     publ…
ARM上的linux如何实现无线网卡的冷插拔和热插拔 fulinux 凌云实验室 1. 冷插拔 如果在系统上电之前就将RT2070/RT3070芯片的无线网卡(以下简称wlan)插上,即冷插拔.我们通过分析系统启动流程过程中的运行的脚本,将启动wlan的脚本加入其中,就可以实现自动运行wlan.. 系统启动后的第一个进程/sbin/init.init进程最主要的功能就是准备软件执行的环境,包括系统的主机名.网络配置.语系处理.文件系统格式以及其他服务的启动等.而所有的操作都会通过init的配置文…
Django中间件 一.什么是中间件 django中间件就是类似于django的保安;请求来的时候需要先经过中间件,才能到达django后端(url,views,models,templates), 响应走的的时候也需要经过中间件才能到达web服务器网关接口处: 中间件位于web服务端与url路由层之间:是介于request与response处理之间的一道处理过程. 二.中间件有什么用 如果你想修改请求,例如被传送到view中的HttpRequest对象. 或者你想修改view返回的HttpRe…
Django基础八之认证模块---auth 目录 Django基础八之认证模块---auth 1. auth介绍 2. autho常用操作 2.1 创建用户 2.2 验证用户 2.3 验证用户是否登录 2.4 已验证的用户想附加到当前会话 2.5 快捷增加登录校验装饰器 2.6 退出登录 2.7 检查密码 2.8 修改密码 2.9. 示例:利用auth模块搭建登录才能访问和有退出功能的页面 2.10 User对象的is_staff和is_active 3. 扩展默认的auth_user表 3.1…
对开发者和DBA们来说,对shell脚本批量任务的影响成了多宿主选项带来的最大改变之一.因为多宿主环境通过服务来连接到可插拔数据库,因此,依靠CRON和OS认证成了换成多宿主环境后的一个最大问题.本文提供了一些办法来解决之前shell脚本工作在多宿主环境的问题. 1.        设置容器 对于那些工作在容器级的DBA脚本来说,用"/ AS SYSDBA"就可以像之前一样工作.当你在可插拔数据库内运行脚本时,就会出现问题.解决这个问题的最简单办法就是继续用"/ asSYSD…
回到占占推荐博客索引 核心组件 我心中的核心组件,核心组件就是我认为在项目中比较常用的功能,如日志,异常处理,消息,邮件,队列服务,调度,缓存,持久化,分布式文件存储,NoSQL存储,IoC容器,方法拦截等等. 对于以上内容可以说即是一个大餐,又是一个挑战,就让我带着大家去迎接这份挑战吧,呵呵! 可插拔的AOP AOP即面向切面的编程,是指将一个公用的与领域无关的组件抽象出来,方便在各个项目中使用.在微软很多项目中,基本都会有这种组件,它们叫它frameworks,或者叫core,从字面上看,就…
回到目录 AOP面向切面的编程,也称面向方面的编程,我更青睐于前面的叫法,将一个大系统切成多个独立的部分,而这个独立的部分又可以方便的插拔在其它领域的系统之中,这种编程的方式我们叫它面向切面,而这些独立的部分,我们很早之前叫它部件,在SOA里,它叫做服务,而我认为叫它模块更加贴切,确实,这些与领域无关的东西,是像是一个个的功能模块. 之前讲过一个日志组件,有兴趣的同学可以查看:第一回 日志记录组件 今天主要说一下缓存组件,就是缓存模块,这些模块可以很方便的为每个方法添加缓存机制,事实上是在方法体…
Linux-PAM认证模块     用户访问服务器的时候,服务器的某一个服务程序把用户的谁请求发送到PAM模块进行认证.对于不同的服务器应用程序所对应的PAM模块也是不同的.如果想查看某个程序是否支持PAM认证,可以用ldd命令进行检查: 例如:查看sshd是不是支持PAM模块认证: 由于在程序模块里链接了libpam.so.0 =< /lib/libpam.so.0 ,说明此程序可以进行PAM认证. 当一个服务器请求PAM模块的时候,PAM本身是不提供服务验证的,它是调用其它的一群模块来进行服…
进行 Drupal 开发时有许多模块和工具可供使用,其中最常用的两项便是 Devel 及 Drupal for Firebug.本文和<Drupal常用开发工具(二)——Drupal for Firebug>将分别对它们进行介绍. 与本文相关的很多内容可以通过 Devel Demo 模块进行查看,如有纠正或补充可以在官方问题队列中发帖,也可以在本文后进行留言. Devel模块 Devel 集合了多个开发辅助模块,除了作为核心的 Devel 模块外,Devel 模块包中还包含了其它子模块,如 D…
常用的Linux系统调用命令   下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上“*”号以示区别.   一.进程控制   fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取当前…
auth认证模块是Django内置集成的一个用户认证模块. auth认证模块方法 方法 释义 auth.authenticate() 认证校验 auth.login(request,user) 封装认证了的user对象 auth.logout(request) 将session数据都删除,且cookie也失效 auth认证模块示例 from django.shortcuts import render,redirect from django.contrib import auth from d…
一看标题肯定会联想到使用动态编织的方式实现AOP编程,不过这不是作者本文讨论的重点. 本文讨论另外三种在netcore中可实现的方式,Filter(过滤器,严格意义上它算是AOP方式),DynamicProxy(动态代理方式,JAVA上早已不是新鲜事),Middleware(netcore中间件所实现的AOP方式) 什么是AOP编程 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.…
网络之常用的Linux系统调用 下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上“*”号以示区别. 一.进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取当前进程组标识…
Linux下LDAP统一认证解决方案 --http://www.cangfengzhe.com/wangluoanquan/3.html 转自:http://www.cnblogs.com/MYSQLZOUQI/p/4840965.html 企业内部需要认证的服务很多,员工需要记住很多的密码, 即使对这些服务进行相同的密码设置,也存在很大的安全隐患.笔者目前工作的企业就是如此,每一个新员工的到来管理员都要初始化很多密码,而这些密码都被设置成了“888888”等弱密码,由于各种软件的认证机制之间没…
Postfix+Dovecot+Sasl工作原理 1.A用户使用MUA客户端借助smtp协议登陆smtpd服务器,需要先进行用户和密码认证,而SMTPD服务器端支持sasl认证,例如有一个sasl客户端,就会去连接SASL.当SASL接受到验证请求时就会根据验证方式去进行验证,常用的有PAM,passwd等.验证成功后就会返回给Smtpd服务器.而smtpd就会允许A用户登陆发送邮件. 2.Smtpd服务器接受到邮件转发请求后,查看邮件是本域的还是外部域的,如果是本域内的用户,就会开启MDA进程…
在 .NET Framework 4.7 以前,WPF 程序的触摸处理是基于操作系统组件但又自成一套的,这其实也为其各种各样的触摸失效问题埋下了伏笔.再加上它出现得比较早,触摸失效问题也变得更加难以解决.即便是 .NET Framework 4.7 以后也需要开发者手动开启 Pointer 消息,并且存在兼容性问题. 本文将通过解读 WPF 触摸部分的源码,分析 WPF 插拔设备触摸失效的问题.随后,会给微软报这个 Bug. 本文使用多种语言编写,请选择适合你阅读的语言: 通过解读 WPF 触摸…
配置Linux使用LDAP用户认证 本文首发:https://www.cnblogs.com/somata/p/LinuxLDAPUserAuthentication.html 我这里使用的是CentOS完成的LDAP用户管理,可能与网上的大部分教程不同,不过写出来了,那么是肯定能用的了,不过会有部分文件,忘指教.这里使用的 OPENLdap 配合 CentOS7 完成的用户管理,需要配置 nssswitch .pam 和 sssd 3个服务,需要先有一定的了解才能完成本文的配置. 基础配置 完…
在可插拔settings的基础上加入类似中间件的设计 settings可插拔设计可以看之前的文章 https://www.cnblogs.com/zx125/p/11735505.html 设计思路 实现和Django中间件类似的功能,可以在settings中通过简单的添加和删除配置就能,操作中间件是否执行的功能 文件目录 --about_settings --default --conf --__init__.py --global_settings.py 默认配置文件 --notify --…
Setting可插拔 django暴露了一个可以给用户自定义配置的文件,优先使用用户配置的信息,而且必须要大写才有效 文件目录 --about_settings --default --conf --__init__.py --global_settings.py 默认配置文件 --user --settings.py 用户配置文件 --start.py 启动文件 启动文件 start.py import os import sys #将项目的根目录配置到模块搜索路径,提高兼容性 BASE_DI…
form表单中使用跨站请求伪造 { % csrf_token % } 会动态生成一个input框,内部的value是随机刷新的 如果不想校验csrf from django.views.decorators.csrf import csrf_exempt, csrf_protect 然后在不想装饰的函数的上面加上@csrf_exempt 如果只想校验单独一个的话就在那个函数的上面加上@csrf_protect 在CBV中添加csrf就是通过导入第三方模块 from django.utils.de…
记录自己常用的Linux命令: ss的启动命令:ssserver -c /etc/shadowsocks.json jupyter notebook的启动命令:jupyter notebook --allow-root 查看linux发行版本信息:lsb_release -a (适用于所有的linux,包括Redhat.SuSE.Debian等发行版,但是在debian下要安装lsb) 在当前目录下全局搜索文件:find / -name ‘filename’ 在当前目录下全局搜索文件目录:fin…
目录 csrf跨站请求网站 什么是csrf跨站请求网站 经典例子-钓鱼网站 模拟 如何避免这种现象(预防) 如何在django中解决这个问题 form表单 ajax csrf相关装饰器 FBV CBV auth认证模块 auth模块模块是什么 使用admin后台管理 Auth模块方法编写登录.注册功能 auth.authenticate(request, username=username, password=password)返回的是一个对象 用户登录时候与用户没有登录(request.use…
vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是一般模式.编辑模式与指令列命令模式. 这三种模式的作用分别是: 一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式).在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制.贴上』来处理你的文件数据. 编辑模式:在一般模式中可以进行删除.复制.贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R…
本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处) 在Linux系统中,mkdir命令用来创建一个目录或一个级联目录. 1. 命令格式 mkdir [选项] 目录名 2. 命令选项 -m=mode 为目录指定访问权限,与chmod类似. -p 如果目录已经存在,则不会有错误提示.若父目录不存在,将会创建父目录.该选项常用于创建级联目录. -v 为每个目录显示提示信息. 3. 实例 实例1:在当前目录创建baklog目…