首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

vsftpd如何用PAM认证用户

它在linux世界非常流行,安全,性能高。 本文的目的是让PgSQL存储你的vsftp的虚拟用户和密码,通过一个叫做pam的来认证。 零、简述PAM原理。...代码: 用户 vsftpd PAM模块 用户和密码数据库 vsftpd用了一种很聪明同时也是unix/linux规范的方法来认证用户,就是PAM。大家对于PAM,也许有些陌生,但是一直在用。...所谓PAM,英文是:Pluggable Authentication Modules,可拔插认证模块(不知道这样翻译对不对)。看见plug这个关键字,就知道是很灵活的。...现在几乎所有daemon程序一般都是用PAM来进行认证的,包括telnet/sshd/imapd,甚至你的login,都是用PAM。...总结 想要配置vsftpd + 其他的PAM认证方法,本文都可做参考。当然,你可能会修改有关pam.conf的设置了。

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

LinuxPAM模块学习总结

Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等。...一、PAM模块介绍 Linux-PAM(即linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式。...第三列代表模块路径 第四列代表模块参数 1)第一列:PAM的模块类型 Linux-PAM有四种模块类型,分别代表四种不同的任务,它们是: 认证管理(auth),账号管理(account),会话管理(session...规定如何处理PAM模块鉴别认证的结果,简而言之就是鉴别认证成功或者失败之后会发生什么事,如何进行控制。单个应用程序可以调用多种底层模块,通常称为“堆叠”。...optional:他表示即便该行所涉及的模块验证失败用户仍能通过认证。在PAM体系中,带有该标记的模块失败后将继续处理下一模块。也就是说即使本行指定的模块验证失败,也允许用户享受应用程序提供的服务。

5.3K91

linux 中关于PAM的点滴笔记

pamlinux系统中是非常常用,也是非常重要的一个子系统,然而对于pam,我们可能并没有太多的关注其man 帮助文件的说明,最近读了一下pam的man page, 许多不明白的豁然开朗,这里做一个简单的笔记...这个情形适用于: 对应的模块对正确认证 和login 的session 认证没有影响的pam module. C....也就是说,如果加了下面这一条规则,只要当前服务的uid 为0, 那么就无需再次输入密码就可以直接通过认证: auth sufficient pam_rootok.so 这里需要注意的是:如果一个应用程序的权限认证基于...因为su 是一个不安全的命令. 11). pam_userdb 这个模块指定用户的认证是通过Berkeley db 来实现,而不是通过传统的shadow文件. 这个认证方式的典型应用是:虚拟用户。...用这种方式进行认证比较好. 确保了系统安全,也方便管理. 12). pam_tally2 这个主要控制登陆失败的次数,通常失败三次就锁住的功能就是该模块实现的. 本文原创,转载请著名出处

2.1K11

Arch Linux sudo: PAM authentication error: Module is unknown

问题描述:   我的 Arch Linux 已经用了快半年多,由于 Arch Linux 的滚挂问题,我从没有直接升级过系统。软件版本以及库自然落后了一些。...就在我准备需要用到 NFS 时,挂载网络文件系统时由于 librpc 太旧而失败了。所以看来我得更新 librpc 了。用 yaourt -Ss 查看了一下源上的版本。   ...任何用到 sudo , 以及 su 的地方,均出现如下错误: sudo: PAM authentication error: Module is unknown   我意识到,我一旦重启了将无法开机了。...果然尼码,认证失败。根本登不进去!真是悲剧。 解决办法:   我参考 https://bbs.archlinux.org/viewtopic.php?pid=1578812 上别人的讨论。...当然他是失败。 但是我不一样,我仅仅更新了 libtirpc ,而且当时我发现并没有安装任何的依赖软件包。所以我认为我只要降回原来 libtirpc 的版本。便能解决问题。

4.1K20

LinuxPAM系统模块详解说明

答:PAM 的全称为可插拔认证模块(Pluggable Authentication Modules:简称 PAM /pæm/ ),Linux中的一种安全验证方式是基于模块化设计、具有可插入功能的一种独立于应用程序之外的验证方式...在从RedHat系列发行版Linux 3.x(>=内核中)已经集成了PAM安全验证方式, 并且能够使用它来解决上面所示的相关问题; PAM特点&功能: 给程序的开发人员提供一套统一的认证接口, 即应用程序可以不需要集成验证功能...该模式和 include 的不同点在于认证结果的作用域:如果某个流程栈 include 了一个带 requisite 的栈,这个 requisite 失败将直接导致认证失败同时退出栈;而某个流程栈 substack...ignore:在一个栈中有多个认证条目的情况下,如果标记 ignore 的返回值被命中,那么这条返回值不会对最终的认证结果产生影响。 bad:标记 bad 的返回值被命中时,最终的认证结果注定会失败。...此外,如果这条 bad 的返回值是整个栈的第一个失败项,那么整个栈的返回值一定是这个返回值,后面的认证无论结果怎样都改变不了现状了。 die:标记 die 的返回值被命中时,马上退出栈并宣告失败

4.2K32

LinuxPAM系统模块详解说明

答:PAM 的全称为可插拔认证模块(Pluggable Authentication Modules:简称 PAM /pæm/ ),Linux中的一种安全验证方式是基于模块化设计、具有可插入功能的一种独立于应用程序之外的验证方式...在从RedHat系列发行版Linux 3.x(>=内核中)已经集成了PAM安全验证方式, 并且能够使用它来解决上面所示的相关问题; PAM特点&功能: 给程序的开发人员提供一套统一的认证接口, 即应用程序可以不需要集成验证功能...该模式和 include 的不同点在于认证结果的作用域:如果某个流程栈 include 了一个带 requisite 的栈,这个 requisite 失败将直接导致认证失败同时退出栈;而某个流程栈 substack...ignore:在一个栈中有多个认证条目的情况下,如果标记 ignore 的返回值被命中,那么这条返回值不会对最终的认证结果产生影响。 bad:标记 bad 的返回值被命中时,最终的认证结果注定会失败。...此外,如果这条 bad 的返回值是整个栈的第一个失败项,那么整个栈的返回值一定是这个返回值,后面的认证无论结果怎样都改变不了现状了。 die:标记 die 的返回值被命中时,马上退出栈并宣告失败

11.4K65

使用pam_tally2锁定和解锁SSH失败的登录尝试

Linux)可插拔认证模块 Linux-PAM是一套适用于Linux的身份验证共享库系统,它为系统中的应用程序或服务提供动态身份验证模块支持。...在Linux中,PAM是可动态配置的,本地系统管理员可以自由选择应用程序如何对用户进行身份验证。...该控制标志是PAM配置文件中的第二个字段,PAM控制标志如下: > required - 模块结果必须成功才能继续认证,如果在此处测试失败,则继续测试引用在该模块接口的下一个模块,直到所有的模块测试完成...> requisite - 模块结果必须成功才能继续认证,如果在此处测试失败,则会立即将失败结果通知给用户。 > sufficient - 模块结果如果测试失败,将被忽略。...man pam_tally2 ---- 二、下面演示一下使用Pam_Tally2锁定和解锁SSH失败的登录尝试 根据man pam_tally2帮助说明文档 pam_tally2主要认证选项 * deny

11.3K11

解决Linux修改密码报PAM authentication failed错误

最近接到一个运维开发任务,需要开发一个帐号管理系统,对手头三千多台 Linux 服务器的 root 帐号进行批量系统的管理,实现定期修改 root 为随机密码并加密存储,并向运维管理 WEB 前台提供密码查询解密接口等功能...后面线上测试发现,公司有部分系系统接入了 ldap 鉴权,php 的 ssh2_exec 就无法工作了,返回登陆失败的错误。...看了下错误信息是: chpasswd: PAM authentication failed 实际登陆这台机器,执行 chpasswd,发现也是报这个错误。...不知道哪个无聊的人把这个系统的/etc/pam.d 给重命名为 pam.d_bak 了!!我去你 XXX,浪费我半天时间。...直接 mv pam.d_bak pam.d,然后就能够执行 echo 'root:newpassword'|chpasswd 来修改密码了。

6.9K90

腾讯云cvm-linux登录不上: PAM模块问题(原理篇)

如果验证失败,sufficient 的作用和 optional 相同 optional:表明本模块是可选的,它的成功与否不会对身份认证起关键作用,其返回值一般被忽略。...该模式和 include 的不同点在于认证结果的作用域:如果某个流程栈 include 了一个带 requisite 的栈,这个 requisite 失败将直接导致认证失败,同时退出栈;而某个流程栈 substack...bad:标记 bad 的返回值被命中时,最终的认证结果注定会失败。此外,如果这条 bad 的返回值是整个栈的第一个失败项,那么整个栈的返回值一定是这个返回值,后面的认证无论结果怎样都改变不了现状了。...或/etc/security/limits.d/*.conf来设定 参考资料: Linuxpam模块:https://www.cnblogs.com/kevingrace/p/8671964.html.../info-detail-884967.html 腾讯云cvm-linux登录不上: PAM模块问题(案例篇):https://cloud.tencent.com/developer/article/1729568

4.5K52

CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享

Linux下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等。Red Hat Enterprise Linux中默认安装的是vsftpd。...=/etc/pam.d/ftp.vu  //设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下. userlist_enable=NO  //用户列表中的用户是否允许登录FTP服务器...chown_username=root  //是否启用上传文件后修改为指定的属主用户 3、在/etc/vsftpd/下创建两个目录 vuser_db  #后续存放虚拟用户的配置文件 vuser_dir  #存放虚拟用户的认证文件...认证模块 [root@master vuser_db]# cd /etc/pam.d/ [root@master vuser_db]# vim ftp.vu  //这个文件名要与主配置文件中的pam_service_name...认证的vsftpd虚拟用户的配置了,可以实现虚拟用户登录FTP功能了。

50050

Linux身份鉴别机制概述

具体范围说明如下: Linux-PAM-1.1.6/moudles/pam_access.c:登录认证模块的实现源码。 Linux-PAM-1.1.6/libpam:PAM所用的头文件。...接下来以登录Linux系统为例,说明登录过程中传统UNIX认证方式对用户帐号的鉴别过程。...,包括auth、account、session、password; 2.control-flag:控制标志用来设置验证成功或者失败PAM需要做出的反应,有四个关键词如下所示: required:表示即使某个模块对用户的验证失败...requisite:一旦模块对用户的验证失败PAM立马返回出错信息。 sufficient:一旦模块对用户的验证成功,PAM立马返回成功信息,并把控制权交给用户。...()为认证成功的用户建立会话pam_close_session()pam_sm_open_session()结束会话 参考文献 【1】鸟哥的私房菜.人民邮电出版社.2010. 【2】Linux安全策略与实例

2.1K10
领券