在图形会话期间更改用户的主目录

在图形会话期间更改用户的主目录

有一天,我想到创建显示管理器独立的访客会话。

我的基本想法是将登录 shell 更改为自定义程序,该程序动态创建临时主目录 (fe /tmp/guest-XXXXXX) 并将此会话分配给该主目录。用户注销后,它将再次删除该目录。我遇到的问题如下,我需要设置一个 home /etc/passwd,并且可以毫无问题地覆盖 HOME 环境变量,但应用程序似乎仍然使用 home 设置passwd而不是环境变量,至少在图形环境中是这样。我无法设置房屋,passwd因为直到会议开始我才知道。

我想出的基本逻辑如下:

  • 登录 shell 已启动
  • 创建临时家园
  • HOME 设置为这个临时家
  • 真正的 shell 是分叉的
  • 真正的 shell 终止后,临时家将被删除

su当我进入用户时,这似乎有效,但是运行图形会话意味着大多数/所有程序都开始使用passwd.

是否可以在图形会话处于活动状态时动态更改用户主页?我是否忽略了图形会话如何工作的架构中的某些内容?

相关内容