![限制允许用户登录的次数](https://linux22.com/image/54258/%E9%99%90%E5%88%B6%E5%85%81%E8%AE%B8%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E7%9A%84%E6%AC%A1%E6%95%B0.png)
我们有几个基于 Ubuntu 12.04 构建的 Backbox 3.13 系统。我的一个十几岁的孩子不理解“睡眠”这个概念,并且倾向于起床玩电脑。我正试图限制这种行为。我们确实尝试了保姆,它工作了几天。然后,即使设置仍然存在,它仍然允许该青少年访问她的用户帐户和互联网。
经过一番研究,我决定尝试修改/etc/security/time.conf
。显然,我做得不正确,因为无论我在文件中输入哪些命令,我们仍然可以登录到她的用户帐户。我们不希望她在晚上 9 点到早上 6 点期间访问。我们仍然需要我一直使用计算机。以下是我尝试过的几种语法:
1. login;*;username;A12100-0600
2. login;*;username;!A12100-0600
3. login;*;username;!A12100-0600
login;*;my username;A10000-2400
4. login;*;!username;A12100-0600
我在这里疯狂地试图弄清楚如何做到这一点。我确信我错过了一些简单的事情,或者我输入错误。任何援助将不胜感激。
答案1
1. 编辑 /etc/pam.d/common-auth 并添加以下行:
account required pam_time.so
2. 编辑/etc/security/time.conf并添加限制:
*;*;username;Al0800-2200
该示例允许每天上午 8 点到晚上 10 点之间使用支持 pam 的软件登录。
答案2
你只是在这里这样做吗,还是你用的是 those 而不是 Ls?
时间限制应为“大写A,小L“然后时间...
答案3
以下对我有用:
*;*;child1|child2|child3;Wk0445-1958|Sa0445-2300|Su0445-1958
以下行/etc/pam.d/common-account
可能是我添加或取消注释的内容。
account required pam_time.so
我还有一个 cron 作业,它会在晚上 8:00 检查其中一个孩子是否登录,如果是,则将其注销...实际注销的部分如下:
echo 'logging off - Following children are still logged in...'
for n in $active_children ; do echo " " $n ; done
festival --tts <<EOT
Is is bedtime. Good bye and good night.
EOT
for n in $active_children
do
killall -HUP -u $n
done
sleep 15
for n in $active_children
do
killall -u $n
done
echo "[`date`] - done"
答案4
更通用的方法是使用 cron 来锁定和解锁帐户。这消除了窗口管理器的特定要求以及与窗口管理器相关的任何变量。这仅适用于独立计算机,不适用于连接到中央身份验证服务器的台式机/笔记本电脑/平板电脑。
0 21 * * * /usr/bin/passwd -l childsUserName 0 6 * * * /usr/bin/passwd -u childsUserName'
注意:您可能需要调整“passwd”命令的路径。用“which”确定正确的路径。
在我的 CentOS 6 机器上:
which passwd
/usr/bin/passwd