问题标签 [pam]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 编写将从文件中读取密码并登录用户的 PAM 模块
我正在尝试编写一个 pam 模块,该模块将从文件中读取密码,然后让用户无需输入密码即可登录。
[编辑:文件将存储在外部设备中。(试图满足两因素身份验证)。这听起来可能很不安全,但文件将使用适当的加密算法进行加密。密钥交换和加密/解密不是问题]
连接外部设备后,用户只会在登录屏幕(KDM)上输入他的用户名,然后我的 PAM 模块将从设备获取所需的密码,然后登录用户。
我是 PAM 主题的新手,我做了一些研究,但找不到它是否可能(如果是这样的话)。
如果您指出解决此问题的方法,我将不胜感激。
linux - 将二进制文件安装到 /bin、/sbin、/usr/bin 和 /usr/sbin,与 --prefix 和 DESTDIR 交互
大多数使用 Autotools 的软件包都是用户级实用程序,或者至少是足够高的级别以完全低于/usr
,或低到足以完全低于/usr
.
我正在编写一个需要将一些文件安装/bin
到/sbin
. 它正在替换传统上放置在这些位置下的几个现有二进制文件。/usr/bin
/usr/sbin
它还需要安装一个 PAM 模块/lib/security
(显然/usr/lib/security
不会工作)。
现在的问题是:默认配置的前缀似乎是/usr/local
. 我可以在我的configure.ac
. 而且至少 Gentoo Linux 的默认值是--prefix=/usr
. 这是一个问题,因为它会覆盖我在configure.ac
.
我简要介绍了其他类似的软件包是如何处理这个问题的。以下是我的发现:
- bash-4.1 似乎安装到
/usr/bin
,并且发行版构建脚本将 bash 二进制文件移动到/bin
- Linux-PAM 有 hack 功能,
configure.ac
因此如果 prefix 是/usr
,它将使用/sbin
and/lib
用于它的一些文件。它还将默认前缀设置为/usr
. 我不确定如果用户通过不同的--prefix
. shadow-utils
设置exec_prefix
为""
if 前缀是/usr
. 然后bin_PROGRAMS
是指/bin
,并且ubindir
被声明为指向,${prefix}/bin
所以ubin_PROGRAMS
指的是/usr/bin
。
我的问题是:
- 其他发行版的默认设置是
--prefix
什么?我可以合理地假设它总是/usr
吗?我现在只关心 Linux,而不关心 BSD。 - 以上哪种解决方案看起来最干净?你看到一些更好的解决方案吗?
- 上述解决方案有哪些潜在问题?这些问题有一些解决方案吗?
- 我可以将所有内容安装到
/bin
并创建兼容性符号链接。它是否使问题更简单? - 是否有一些其他常见的构建系统可以更好地满足我的要求的低级系统实用程序?
随时要求澄清我正在尝试做的事情。请注意,如果我想保持与我要替换的内容的兼容性,如果它曾经运送二进制文件 A 和 B,一进/sbin
一进/usr/bin
,我想我只需要在这些地方放置替换或至少有符号链接。PAM 模块也有固定的安装位置。
我显然会支持任何有用的答案。我是一个“公认的答案”我主要是在寻找“我应该做什么”的建议,什么是问题的最干净的解决方案,以及如果适用的话,讨论选项和缺点、利弊。
authentication - 系统日志中的 pam_unix 是什么?
如果我使用 PAM 进行身份验证,pam_unix
在 syslog 标记中使用它是标准/最佳做法吗?谁pam_unix
在下面的日志中添加了:vsftpd 进程或用于身份验证的 PAM 模块本身?
例如-
unix - Amazon IAM 可以用作主机的身份验证方法吗?
是否可以通过类似于 LDAP、NIS 等的 PAM 模块使用 IAM 来管理 EC2 托管的 unix 主机的用户帐户?
我的目标是有一种方法可以在我们的 EC2 主机上集中主机身份验证,而无需设置单点登录解决方案的开销。
git - 如何禁用 gitolite 用户的 pam 身份验证
我在 RHEL linux 主机上设置了 gitolite。它是功能性的,它正在完成接受 ssh 密钥的工作。
我已经指示我的用户使用 tortoisegit 作为其存储库的管理工具。这是因为 tortoisegit 带有 ssh 密钥生成器和选美。随着选美比赛的运行,并加载了他们的密钥,它工作正常。
但。
一些用户忘记加载密钥,他们会收到一个弹出窗口,要求输入 gitolite 用户密码。对话框标题:TortoisePlik 内容:git@servername.com 密码:对话框图片: http: //i.imgur.com/Vbbk7.png
有没有办法通过更改服务器端的配置来拒绝这个对话框,比如在 pam 或 sshd 中?
php - PAM 身份验证因 suphp 失败
我正在编写一个在 PHP 中使用 PAM 身份验证的脚本。当我尝试进行身份验证时,拥有该文件的用户可以正常工作,但任何其他尝试登录的用户都将失败。
如何让任何拥有系统帐户的用户进行身份验证,而不仅仅是拥有该文件的用户?
这是我的 php 的 pam 配置的副本:
common-auth 包含:
普通账户包含:
公共会话包含:
这是我如何发出身份验证请求的示例:
c - PAM:如何更改别人的密码?
我必须拨打什么 PAM 电话来重置用户的密码?我想不明白。
背景:
我正在开发嵌入式 linux 设备。客户安装此设备并创建用户帐户。如果其中一个二级用户帐户被锁定,或者用户忘记了密码,我们需要一种方法,让用户 #1 可以重置用户 #2 的密码。我们对 PAM 的转换是新的,我现在正在切换到它。以下是我为验证用户而进行的调用:
我看到pam_chauthtok()
更改我自己的密码,我不明白是否 - 或如何?-- 我可以使用它或其他类似的调用来为另一个用户帐户分配新密码。
linux - PAM 模块是否可以防止用户多次登录?
是否可以有一个 PAM 模块来检查尝试通过 OpenSSH 登录的用户是否已经登录,然后他们是否拒绝第二次登录?
我尝试了其他几种方法来阻止多个登录会话,但没有任何效果,如果有人可以使用自定义 PAM 模块确认这是可行的,我将非常感激,谢谢。
当我注释掉 sftp 配置时,我注意到limits.conf 工作正常:
但它打破了sftp。
bash - 如何在bash中检查密码
是否可以在 bash 脚本中检查用户密码是否正确?如果是这样,请告诉我如何。谢谢
windows - Windows 中的 PAM“会话所需模块”等效项
我有这个漂亮的 PAM 模块,它可以验证每个会话(如桌面会话)的身份验证,并根据某些标准允许或阻止它。我想在 Windows 7 上做同样的事情。
现在,这可能听起来很愚蠢或微不足道,但我真的不知道我在 Windows 系统上的方式,因此想要一些关于如何实现类似功能的指针(即在例如时查询的服务或模块用户尝试启动会话。)