如何仅从登录屏幕禁用访客会话?

如何仅从登录屏幕禁用访客会话?

我的确想要:

登录到我的管理员帐户时,能够从用户菜单中选择访客会话,以防有人需要使用我的电脑。

我不想

有人能够打开我的电脑并登录到访客会话

我听说过一种方法,可以编辑/etc/lightdm/lightdm.conf以包含allow-guest=false(然后重新启动 lig​​htdm)

这种方法的问题在于我特别不要想要完全禁用访客帐户。我只想禁用从登录菜单访问同时仍保留(登录我的管理员账户后)手动启动访客会话。

有这样的修复方法吗?我似乎无法通过搜索引擎找到一个(而且搜索起来非常困难)

编辑:是的。Ubuntu 12.04 LTS(桌面版),最新版本。

而且由于其运作方式,它必须是来宾帐户。我希望能够允许其他人使用来宾帐户,我可以从主帐户轻松启动来宾帐户,因为它的运作方式(无需密码,会话结束时所有内容都会被删除),而不会让打开我电脑的任何人都能访问到无密码的帐户。

不过,如果我可以通过标准受限帐户实现这一点,那就可以接受,因为我只需更改大多数软件的设置即可不保存任何内容。它必须是无密码的,并且在我登录到主帐户时可以通过用户列表访问,但是看不见/无法接近从主登录屏幕。

这是我提到的代码。如您所见,结构非常相似,但存在一些关键差异。没有auto required pam_unix.so,链接说要添加一行名为auth optional pam_permit.so但我已经有了auth required pam_permit.so,还有其他一些小差异。

#%PAM-1.0
auth    requisite       pam_nologin.so
auth    required        pam_env.so readenv=1
auth    required        pam_env.so readenv=1 envfile=/etc/default/locale
auth    required        pam_permit.so
@include common-account
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session required        pam_limits.so
@include common-session
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
@include common-password

答案1

我现在有一个与 PAM 相关的未解决的问题,因此我可以根据经验说,修改任何 PAM 模块都可能很快变得非常特定于您正在使用的 Ubuntu 版本。适用于 Precise 的方法可能不适用总是在 Quantal 等公司工作

话虽如此,您的问题的答案可能不需要对 PAM 模块进行任何更改。事实上,您几乎已经知道了。

将此行添加到底部/etc/lightdm/lightdm.conf

greeter-allow-guest=false

我的lightdm.conf样子是这样的:

[SeatDefaults]<br>
greeter-session=unity-greeter<br>
user-session=ubuntu<br>
greeter-allow-guest=false<br>

现在重新启动您的机器。

在 12.10 上,我测试了这会从用户菜单中删除“访客”,但在使用另一个帐户登录后将其保留为手动选项。

非常确定这对您 12.04 也同样适用。

答案2

可能的解决方案:(未经测试)

基于ArchLinux::LightDM

  • 保持访客启用状态
  • 通过调整 PAM 行为,阻止 Guest 成功登录。

( 看启用自动登录,但逆转了建议的逻辑)

相关内容