将所有正在运行的进程从用户1转移到用户2

将所有正在运行的进程从用户1转移到用户2

user1我目前已在服务器上通过 id 运行所有进程。现在我们有了一个新用户,我们希望通过 运行user2所有进程。这样做是为了保持一致性,因为所有其他主机都使用我应该遵循和必须做的事情是什么?请注意,和都具有 root 权限。user1user2user2user1user2

答案1

目前尚不清楚是否可以以新用户身份重新启动进程。假设可以停止并重新启动进程,并且user1在更改后这实际上将变得多余,那么它相对简单:

  1. 备份(!)
  2. 停止所有 user1 进程
  3. 创建用户2
  4. (可选)移动/复制所有 user1 文件,只是为了明确它们现在属于 user2(必要时)
  5. chown将 user1 中的所有文件都转给 user2(根据需要)
  6. 确保没有脚本明确引用user1名称(或id),或引用~user1主目录。使用$LOGNAME$HOME代替用户名使这些脚本通用。

如果任何进程假设用户具有特定 ID,则需要注意这一点(但不太可能如此)。之后,很可能会出现 user1 被禁用/删除的情况。

相关内容