我可以创建仅限本地的访客帐户吗?

我可以创建仅限本地的访客帐户吗?

是否可以在 Linux 中创建“访客”帐户?我所说的“访客”帐户是指不需要密码即可以图形方式登录的帐户。

当人们过来询问“我可以使用您的计算机查看我的电子邮件吗”时,我希望使用此帐户。这样我就不用担心他们窥探我的东西了。

我意识到其中一些可能需要执行特定于登录管理器的操作,因为这是一个常见问题我不会感到惊讶,最好包含xdmkdmgdm以及我没有的任何其他登录管理器的说明未列出。

答案1

是的,您可以创建无密码帐户。

sudo useradd -m guest
sudo passwd -d guest

但重要的是,它要确保没有网络守护程序sshd允许访问无密码帐户。这通常是默认的,但最好检查一下。确保PermitEmptyPasswordsno/false/etc/ssh/sshd_config或尝试 ssh 进入 guest 并查看是否允许。您可能还应该检查其他守护进程,例如 Samba。如果您想限制用户访问您的本地文件,您可以不遗余力地设置 chroot 等pam_chroot.so,或者只是将您的数据限制为您自己。使用您的主目录不允许“其他”类读取您的文件并锁定您认为需要的任何其他位置。

答案2

抱歉,我实际上没有办法做到你所要求的,但我认为这个答案仍然会有帮助。

“没有 shell 访问权限”是什么意思:您的意思是用户必须只能使用少数应用程序(例如 Web 浏览器和邮件客户端)?如果是这样,您需要确保应用程序不会无意中允许用户运行任意命令。这在实践中很难保证。

这通常被称为设置。 Linux kiosk 项目有很多,但大多数旨在制作一台 kiosk 机器,而不是必须与其他帐户共存的 kiosk 帐户。

信息亭帐户更难保护。我认为你必须使用 SELinux 或虚拟化技术之类的东西来防止来宾窥探公开可读的文件(或者手动收紧所有权限,但有些东西保护起来很麻烦,例如用户列表(/etc/passwd))。我不知道有哪个项目提供开箱即用的功能。

使用 VirtualBox 设置来宾虚拟机应该相对容易。VirtualBox 有 kiosk 模式您可以在其中禁用 GUI 中的所有 VM 控件。然后,您可以将该 VM 作为 X 服务器上的唯一应用程序运行。确保在不使用其他控制台时锁定它们,瞧,您有一个信息亭 vt。当然,虚拟机不应共享任何文件夹,并且其网络应仅限于传出 NAT 连接。

在虚拟机内部,您可以运行信息亭设置,但这甚至不是必要的。只需拍摄虚拟机的快照,并在来宾使用后丢弃该快照。如果需要执行升级,请从快照开始,升级,然后制作新快照。

回到访客用户(这里不解决访客限制),在身份验证方面,每个登录管理器中没有什么需要设置的。 PAM 的重点是独立于会话类型。创建一个无法正常登录的用户,并允许该用户通过pam_userdb您想要授权的登录方法的行(例如auth sufficient pam_userdb.so db=/etc/passwd_guestin /etc/pam.d/?dm、 with /etc/passwd_guestcontainsguest::9999:9999:/home/guest:/bin/sh/etc/passwdcontains guest:x:9999:9999:/home/guest:/bin/false)。

相关内容