我正在寻找类似的东西水蛭阻断剂, 或者专注使用类固醇,IE可以暂时阻止我访问互联网,但这样做的方式主要的与这些浏览器插件不同,禁用起来很麻烦(“很大的麻烦”是指重新安装操作系统之类的事情)
如果我创建一个“受限”帐户,阻止其 Internet 访问并将其排除在外sudoers
,它对我有用,但前提是我能以某种方式暂时将自己锁定在机器上的主帐户之外。
这可以在 Ubuntu 中完成吗?(我坚持使用11.04
,但我会考虑升级或为此功能付费)
简单地让其他人成为我的机器的管理员对我来说不是一个可接受的解决方案。
临时重置密码之类的cron
工作可能会起到作用,但显然它必须非常可靠。我不能冒险永久被锁定,因为机器必须重新启动等等。
答案1
聚丙烯酰胺
一个不太容易克服的临时锁定帐户的方法是定义可插入身份验证模块的规则pam_时间。这样,我们就可以定义一天中允许登录和使用帐户的特定时间。在这些定义的时间之外登录将导致身份验证失败。
告诉 lightdm 使用 pam_time:
为了应用 pam_time,我们进行编辑/etc/pam.d/lightdm
以添加以下行:
account required pam_time.so
定义pam_time的规则:
pam_time 的所有规则都存储在 中/etc/security/time.conf
。请参阅time.conf 的手册页了解语法的详细信息。例如,为了oleg
在工作日上午 8:00 至下午 5:00 拒绝用户登录,我们在此处添加以下行:
login; *; oleg; !Wd0800-1700
为了克服这些规则,我们可以从根访问中注释掉添加的行(例如,通过启动实时系统或使用另一个用户帐户)。
除了限制访问之外,我们还可以考虑进一步缩小范围,只限制某些我们可能不想访问的服务:
http; *; oleg; !Wd0800-1700
oleg
将在工作日上午 8 点到下午 5 点禁止用户访问互联网。
答案2
正如另一位用户所建议的那样链接讨论,该pam_time
模块能够暂时锁定用户。
答案3
如果您认为使用 Live CD 禁用 PAM 太容易:
创建一个在启动时首先运行的 init 脚本,检查系统时钟并确定当前时间是否允许。如果当前时间有效,让脚本启动自定义运行级别,自动登录用户并为他们启动 X。如果选择了救援模式,请不要按照正常程序将运行级别更改为自定义运行级别。此用户必须无法 su root 或处于 sudoers 中。请务必先使用测试系统,直到您确信对 /etc/rc* 和 /etc/init* 所做的更改将正确挂载和卸载文件系统,并且不会损坏系统。必须修改对虚拟控制台的访问,或者干脆不启动任何一个。
将 BIOS 中的启动优先级设置为硬盘启动,这样就无法通过实时 CD 启动。
将 BIOS 密码设置为容易忘记的密码,并设置电子邮件提醒服务,以便在特定时间将其发回给您。您可以使用以下网站的免费服务http://www.kisreminder.com/, 或者http://www.nudgemail.com/how/。
避免这种情况的唯一方法是打开计算机,取出硬盘并修改文件,或者重置 BIOS 以便更改时间。如果您的计算机有锁定机箱的方法,您可以使用可以忘记密码的锁来锁定它,并在未来的某个时间发送电子邮件提醒您输入密码。