如何设置SDDM和PAM来配合阻止某些登录?

如何设置SDDM和PAM来配合阻止某些登录?

简而言之 - 我读过一些主题和文章,但无法让 PAM 与 SDDM 一起使用(我正在使用 Ubuntu+XFCE4+SDDM)

我已将 /etc/security/time.conf 文件修改为此

login ; * ; aaaa ; Wk1900-2000
login ; * ; aaaa ; Wd1400-2200

然后 - 我在 /etc/pam.d/common-auth 中取消注释了这一行:

account requisite   pam_time.so

(后来我将 Requirement 更改为 require,因为..我不知道这意味着什么,但在我读到的几乎所有主题中,人们都提到“account require pam_time.so”)

然后我在tty2中尝试了一下。我可以登录我的主帐户,但无法登录 aaaa 帐户(正如预期的那样)

但是 - 当我以图形方式通过 SDDM 时,我可以使用任何帐户(包括“aaaa”帐户)登录。

(我确实想实际看看现在是几点。上次测试是(星期三)23:55,我从〜22:15开始尝试(所以在22点之后,即使我搞砸了周末和工作日,或这些别名在 time.conf 中的含义))

我还在 /etc/pam.d/common-account 中添加了“account required pam_time.so”,因为..我不知道为什么它应该在 common-auth 中而不是在 common-account 中(现在我保留它在这两个文件中)。

我在 pam.d 文件中找到了名为 sddm 的文件。据我了解,它包括 common-auth (它包含行:“@include common-account”),但是,我在这里添加了“account required pam_time.so”行,它没有引起任何变化。

我正在测试 100 种不同的逻辑和半逻辑想法,所以有一次我添加了(到 /etc/pam.d/SDDM)行:

auth required pam_time.so 

起初我认为它有效 - 因为它限制了“aaaa”登录,但后来我意识到它不起作用,因为没有人可以登录。 (我猜,SDDM 只是“破产”了,因为我做了一些愚蠢的事情)。进入 tty 并取消此更改后,我能够再次通过 SDDM 登录。

但它给了我暗示,SDDM 文件确实影响 SDDM 至少在一些方式...在进一步尝试期间,我在 SDDM 文件中重新添加并保留“需要帐户”,但无论我做什么(我正在更改 time.conf 文件并将此“帐户请求...”行添加/删除到/也许我应该对 /etc/pam.d/ 中的其他文件进行一些更改?

我的 pam.d 文件夹包含以下文件:

ls /etc/pam.d/
chfn                                   lightdm-autologin
chpasswd                               lightdm-greeter
chsh                                   login
common-account                         newusers
common-account.pam-old                 other
common-auth                            passwd
common-auth.pam-old                    polkit-1
common-password                        ppp
common-password.pam-old                runuser
common-session                         runuser-l
common-session-noninteractive          samba
common-session-noninteractive.pam-old  sddm
common-session.pam-old                 sddm-autologin
cron                                   sddm-greeter
cups                                   su
gdm-autologin                          sudo
gdm-fingerprint                        su-l
gdm-launch-environment                 systemd-user
gdm-password                           xfce4-screensaver
gnome-screensaver                      xscreensaver
lightdm

我确实相信我的 time.conf 工作正常,因为......登录到 tty 的工作效果非常符合预期。

我不知道 SDDM 是做什么的,它不起作用。

我一直在查看所有这些主题/网站 https://wiki.archlinux.org/title/SDDM https://www.stephenrlang.com/2012/06/using-pam-to-enforce-access-based-on-time/ https://www.techrepublic.com/article/using-pam-to-restrict-access-based-on-time/ https://linux.die.net/man/5/pam.d https://www.stephenrlang.com/2012/06/using-pam-to-enforce-access-based-on-time/ https://bbs.archlinux.org/viewtopic.php?id=258195 +其他一些

而且...要么我太愚蠢,无法理解我刚刚读到的内容,要么所有这些网站仍然不包含我需要的信息。

相关内容