标签: pam

如何禁用或修改 pam 的密码要求?

我正在使用 Fedora 19。默认情况下,它使用 pam 进行设置以禁用错误密码,例如“密码”。这很好。试图更改此默认设置令人气愤。这是一个用于测试内部东西的盒子,没有连接到互联网,也没有连接到任何机器。错误的密码有助于测试过程。或者,你到底是怎么改变密码要求的??

系统认证

man pam_cracklib有一些很好的例子来设置不同的密码要求。所以我打开/etc/pam.d/system-auth,在那里你会看到如下几行:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
password    requisite     pam_pwquality.so try_first_pass retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so
Run Code Online (Sandbox Code Playgroud)

*办公桌*。根据我的经验,这样的警告意味着每次包管理器运行和/或随机运行时,您的更改都会被擦除。

验证配置

所以……authconfig是下一步。我查找所有名为“authconfig”的文件。/etc/sysconfig/authconfig看起来很有希望。而且,顶部没有关于一时兴起破坏我的编辑的警告。我找到这条线USEPWQUALITY=yes并改变它。现在我运行:

# authconfig --test
<snip>
pam_pwquality is enabled (try_first_pass retry=3 authtok_type=)
<snip>
Run Code Online (Sandbox Code Playgroud)

卧槽 所以让我们man authconfig仔细阅读一下。哦!看起来authconfig没有读取该文件,它已更改。那么....你如何配置authconfig?手册建议system-config-authentication,我安装它并且不提供任何类似于禁用 pam_pwquality …

linux fedora passwords pam

9
推荐指数
2
解决办法
3万
查看次数

为什么 vsftpd 不允许我使用虚拟用户帐户登录?

我想将 vsftpd 与虚拟用户和 pam_pwdfile.so 一起使用。我安装了 vsftpd 并通过 htpasswd 添加了两个用户(ramon 和 Dragon)到我的文件 /etc/vsftpd.passwd。/etc/pam.d/vsftpd 配置为使用此文件。

auth  required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth    required pam_pwdfile.so pwdfile /etc/vsftpd.passwd
account required pam_permit.so

@include common-account
@include common-session
Run Code Online (Sandbox Code Playgroud)

用户“ramon”也可以在/etc/passwd. 使用用户“ramon”登录到 ftp 可以正常工作。但是使用“dragon”登录不会:/结果总是

Login failed: 530 Login incorrect.
Run Code Online (Sandbox Code Playgroud)

由于我可能犯了一个错误,因此我尝试了/usr/share/doc/vsftpd/examples/VIRTUAL_USERS/README. 仍然没有运气。我可以使用用户“ramon”登录,但不能使用用户“dragon”登录。

有任何想法吗?

vsftpd pam

7
推荐指数
2
解决办法
1万
查看次数

如何永久删除 /var/log/lastlog?

我的 /var/log/lastlog 文件很大。我知道它实际上只有几千字节,但 tar 不够聪明,无法知道这一点,所以当我对虚拟机进行映像时,我的还原失败,因为它认为我正在尝试加载比磁盘容量更多的数据。

我想删除 /var/log/lastlog 并停止对文件的任何和所有日志记录。我知道安全隐患。此日志记录需要停止以保留我的备份策略。

我对 /etc/pam.d/login 进行了更改,有人告诉我将禁用日志记录到 /var/log/lastlog,但它似乎不起作用,因为 /var/log/lastlog 不断增长。

# Prints the last login info upon succesful login
# (Replaces the `LASTLOG_ENAB' option from login.defs)
#session    optional   pam_lastlog.so
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑

对于任何感兴趣的人,我使用 Centrify Express 通过 LDAP 对我的用户进行身份验证。Centrify Express 是“免费的”,但缺点之一是我无法通过 LDAP 管理用户 UID,因此当他们登录到服务器时会获得动态 UID。Centrify 选择了一些疯狂的高 UID 值(因此它们大概不会与服务器上的本地用户发生冲突)。/var/log/lastlog 由 UID 索引,并增长以适应系统上最大的 UID。这意味着当 Centrify 用户登录时,他们会得到一个 UID 范围上限的 UID,这会导致 lastlog 根据文件系统分配大量的空间。

~$ ll /var/log/lastlog
-rw-rw-r-- 1 root root 291487675780 Apr 10 16:37 /var/log/lastlog
~$ du -h /var/log/lastlog
20K     /var/log/lastlog
Run Code Online (Sandbox Code Playgroud)

更多进入---> …

ubuntu pam syslog

6
推荐指数
1
解决办法
1万
查看次数

如何跟踪 LDAP 身份验证失败?

1) 我有一个可以工作的 LDAP 服务器,我已经确认它可以与 LDAP 客户端一起使用,通过 jumpbox 在 ec2 上运行。

2)我已经运行 authconfig 来设置基于 ldap 的身份验证,以指向服务器:

authconfig --useshadow --enablesssd --enablesssdauth --enablesssdauth --passalgo=sha512 --enableldap --ldapserver=my.ldap.server --ldapbasedn='ou=users,o=Directory' --enablecachecreds --enablelocauthorize --update --enableldapauth
Run Code Online (Sandbox Code Playgroud)

3) 但是,LDAP 登录失败:

[root@m2 ~]# su bsmith su: 用户 bsmith 不存在

为了调试,我尝试验证尽可能多的 ldap 组件。这是来自我的客户端机器的一些数据:

1) 我的 /etc/nsswitch.conf 列表中似乎有 ldap:

passwd:     files sss ldap
shadow:     files sss ldap
group:      files sss ldap
Run Code Online (Sandbox Code Playgroud)

2)另外,我检查了/etc/pam_ldap.conf,最后似乎有正确的内容:

# SASL mechanism for PAM authentication - use is experimental
# at present and does not support password policy control …
Run Code Online (Sandbox Code Playgroud)

linux authentication ldap pam

6
推荐指数
1
解决办法
2万
查看次数

当我们在“PAM”中有“requisite”时,为什么我们需要“required”?

我想知道为什么我们需要requiredinPAM当我们有requisite. 我知道 required 将允许继续通过auth堆栈,但无论如何最终身份验证过程都会失败。那么为什么不简单地使用requisite呢?

这可能是出于安全原因吗?或者还有什么我想念的吗?在那种情况下,让我们把问题requisite反过来说,我们什么时候需要而不是required

linux authentication pam

6
推荐指数
1
解决办法
2467
查看次数

PAM 认证/登录

我在 Ubuntu 上遇到了一个小问题,任何需要 root 权限的命令的执行时间都比正常情况长。在检查我的情况后,我设法确定了原因的罪魁祸首/var/log/auth.log,我相信这与krb5 PAM身份验证有关。

不久前,我最近安装了 SLiM,这是一个适用于 Ubuntu 的简单登录管理器,它需要使用 PAM 来验证从主登录屏幕登录到用户帐户的身份。我只是想弄清楚我如何只对主登录屏幕而不是整个系统进行 PAM 身份验证,因为每当我想sudo从终端运行或出现身份验证对话框让我输入密码时,它最多需要 1 -2 分钟只是为了验证给定的命令或任务。

是否有任何特定的pam_krb5包我可以安全地删除,我真的不需要修复这个或......?

这是我的身份验证日志中的一点粘贴。

1 月 31 日 15:43:59 VAIO polkit-agent-helper-1[26330]:pam_krb5(polkit-1:auth):身份验证失败;日志名=alkaris uid=1000 euid=0 tty= ruser=alkaris rhost=

1 月 31 日 15:44:00 VAIO polkit-agent-helper-1[26330]:pam_ecryptfs:pam_sm_authenticate:/home/alkaris 已经安装

1 月 31 日 15:48:42 VAIO sudo:pam_krb5(sudo:auth):身份验证失败;日志名=alkaris uid=1000 euid=0 tty=/dev/pts/4 ruser=alkaris rhost=

1 月 31 日 15:48:43 VAIO sudo:pam_unix(sudo:session):由 alkaris(uid=0) 为用户 root 打开的会话

1 月 31 日 15:51:43 VAIO sudo:pam_unix(sudo:session):用户 root 的会话已关闭

1 …

linux authentication ubuntu pam

5
推荐指数
1
解决办法
3692
查看次数

PAM SSSD 允许本地用户

我有一个带 PAM 的默认 SSSD 配置。我可以作为任何 LDAP 用户正常登录。但是,当我在服务器上创建本地用户时:

adduser test1
passwd test1
Run Code Online (Sandbox Code Playgroud)

然后尝试以该用户身份登录我收到以下错误:

pam_sss(sshd:account): Access denied for user test1: 10 (User not known to the underlying authentication module)
Run Code Online (Sandbox Code Playgroud)

我的/etc/nsswitch.conf是这样的:

passwd:     files sss
shadow:     files sss
group:      files sss

#hosts:     db files nisplus nis dns
hosts:      files dns  

bootparams: nisplus [NOTFOUND=return] files

ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files sss

netgroup:   files sss

publickey:  nisplus

automount:  files ldap
aliases:    files nisplus

sudoers: files sss
Run Code Online (Sandbox Code Playgroud)

现在 …

linux ssh pam

5
推荐指数
1
解决办法
5万
查看次数

使用用户安装的shell?

如何将我的 shell 更改为安装在我的主目录中的 shell?我在我的主目录中安装了一个新的 zsh,它被选中:

>> which zsh
>> /home/myname/bin/zsh
Run Code Online (Sandbox Code Playgroud)

它没有在 /etc/shells 中列出(也不会,因为我没有权限),那么我该如何安装呢?

chsh -s $(which zsh) myname
Changing shell for myname
Password: 
chsh: "/home/myname/bin/zsh" is not listed in /etc/shells
chsh: use -l option to see list
Run Code Online (Sandbox Code Playgroud)

linux zsh shell chsh pam

4
推荐指数
1
解决办法
2236
查看次数

防止 linux 用户在 ssh 中更改密码

如何防止用户更改密码?如有必要,我仍然希望能够以 root 身份更改密码,但要防止用户更改密码。

linux passwords passwd ubuntu pam

4
推荐指数
1
解决办法
7115
查看次数

哪个 pam 模块用于 gnome 管理员密码请求?

我已将 yubikey pam 模块添加到我的 sudo pam 配置中,我喜欢结果 \xe2\x80\x94 没有人可以在没有 yubikey 的情况下通过 sudo 或 su 获得超级用户访问权限。

\n\n

抛开这对于个人计算机来说可能过于安全这一事实,我正在尝试找出如何要求 yubikey 来进行 gnome 管理员升级密码请求,但我不想用它来登录/解锁屏幕,只是为了获得管理员访问权限。

\n\n

然而,当我查看 pam 模块时,我看到gdm-password并且login(当然还有其他模块),这两个模块似乎都不适合我想做的事情。

\n\n

是否有可能做到这一点?如果是这样,我需要更改哪个 pam 模块?

\n\n

我使用的是 Ubuntu 18.04,gnome-shell 3.28.1,内核版本 4.15.0-23-generic

\n

linux gnome ubuntu pam yubikey

3
推荐指数
1
解决办法
1449
查看次数

当启用expose_authtok 时,pam_exec.so 不会将密码写入脚本

我们正在使用 PAM 与外部半径服务器进行身份验证。我们在 /etc/pam.d/common-auth 中有以下行

auth [success=6 default=ignore] pam_exec.so 暴露_authtok /home/cliuser/radiusAuth.sh

PAM 将密码写入脚本的 stdin 并提供用户名作为环境变量。

这一直工作到 libpam-modules 版本 1.1.1-6.1。升级到 1.1.3-7.1 后,当我尝试在脚本中读取时密码为空。我们使用 open-ssh 作为我们的 ssh 服务器。

谢谢,普拉桑斯

openssh pam

2
推荐指数
1
解决办法
3116
查看次数

为什么用 sha512 散列的影子密码包含 99 个字符而不是 129 个字符?

我的 Linux 配置为使用sha512. 然而,该/etc/shadow文件仅包含 99 个字符的散列密码。为什么是 99 而不是 129 (64*2+1)?请注意,在确保系统设置为使用 sha512 后,我更改了密码。

请参阅输出:

# grep sha512 /etc/pam.d/system-auth-ac
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
# grep ENCRYPT_METHOD /etc/login.defs
ENCRYPT_METHOD SHA512
# grep root /etc/shadow
root:$6$YwkRWeVN$z4Z7OKuohyyT/4gZgnOkKSWPaMvx1eCHFGNCiyFZx1QYydrEArO.HdH2JGCfosXg0sTnZFFdJnfw5QgfUqovO1:16175:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)

请注意,密码哈希从开始,$6$所以它表示它是sha512哈希。

linux pam

0
推荐指数
1
解决办法
1611
查看次数

标签 统计

pam ×12

linux ×9

ubuntu ×4

authentication ×3

passwords ×2

chsh ×1

fedora ×1

gnome ×1

ldap ×1

openssh ×1

passwd ×1

shell ×1

ssh ×1

syslog ×1

vsftpd ×1

yubikey ×1

zsh ×1