Edw*_*lds 8 gnome3 guest-account accounts
我想要一个像在 Ubuntu 中一样的来宾帐户,它具有以下功能:
/tmp每次都创建一个没有数据的新主文件夹(如果可能的话)sudo我在 Arch Linux 上运行 Gnome 3.20
注:请不要靠近我的问题是重复的创建来宾帐户限制访问的应用程序,因为这个问题没有答案,我的第二和第三点
ter*_*don 10
事实证明,使用 GDM 非常简单。我假设您正在使用 GDM,因为您也在使用 Gnome。首先,guest使用空白密码创建用户帐户:
sudo useradd -d /tmp/guest -p $(openssl passwd "") guest
Run Code Online (Sandbox Code Playgroud)
该openssl passwd "" 会返回一个空字符串的哈希值,从而设定密码为空。
现在,您只需要这两个脚本:
/etc/gdm/PostLogin/Default这是在您登录后执行的,并将创建/tmp/$guestuser(/tmp/guest默认情况下)目录并将默认文件复制/etc/skel到该目录中。要更改来宾用户的默认用户名,请guestuser在开始时设置为其他内容。
<!-- language: lang-bash -->
#!/bin/sh
guestuser="guest"
## Set up guest user session
if [ "$USER" = "$guestuser" ]; then
mkdir /tmp/"$guestuser"
cp /etc/skel/.* /tmp/"$guestuser"
chown -R "$guestuser":"$guestuser" /tmp/"$guestuser"
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
/etc/gdm/PostSession/Default这在您注销后执行,并将删除/etc/$guestuser目录及其所有内容。确保guestuser在两个脚本中设置为相同的值。
<!-- language: lang-bash -->
#!/bin/sh
guestuser="guest"
## Clear up the guest user session
if [ "$USER" = "$guestuser" ]; then
rm -rf /tmp/"$guestuser"
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
最后,使两个脚本可执行:
sudo chmod 755 /etc/gdm/PostLogin/Default /etc/gdm/PostSession/Default
Run Code Online (Sandbox Code Playgroud)
现在,只需注销,您就会看到您的新guest用户。您可以通过选择它并Enter在提示输入密码时点击来登录。该guest用户将无法使用sudo,因为这是所有用户的默认反正。只有在 中明确提到的用户/etc/sudoers或在 中明确提到的组的成员sudoers(例如wheel或sudo,取决于您的发行版)才能使用sudo。
如果您使用的是最新版本的 GDM,它可能会在密码框为空时禁用登录按钮。要解决此问题,您可以告诉 GDM 不要提示输入特定组的密码。需要注意的是,这也将绕过该组成员的会话选择菜单。如果你想这样做,你应该加入这一行开头的/etc/pam.d/gdm-password:
auth sufficient pam_succeed_if.so user ingroup guest
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5655 次 |
| 最近记录: |