Alle laufenden Prozesse von Benutzer1 nach Benutzer2 verschieben

351
RMG

Ich habe derzeit meinen gesamten Prozess nach user1ID auf meinem Server. Jetzt haben wir einen neuen Benutzer user2und wir möchten, dass der gesamte Prozess von vorbei user1läuft user2. Dies wird aus Gründen der Konsistenz wie bei allen anderen Host-Anwendungen gemacht. user2Was sollten die Dinge sein, denen ich folgen sollte und was zu tun ist? Beachten Sie, dass user1und user2beide haben Root - Privilegien.

0
Siehe http://superuser.com/questions/56884/change-euid-of-running-prozess ott-- vor 9 Jahren 0

1 Antwort auf die Frage

0
michael

Es ist nicht klar, ob die Prozesse als neuer Benutzer neu gestartet werden können oder nicht. Angenommen, die Prozesse können gestoppt und erneut gestartet werden, user1was nach der Änderung tatsächlich überflüssig wird. Dann ist es relativ einfach:

  1. Backup (!)
  2. Stoppen Sie alle Benutzer1-Prozesse
  3. Benutzer2 erstellen
  4. (optional) alle user1-Dateien verschieben / kopieren, nur um klar zu sein, dass sie jetzt zu user2 gehören (je nach Bedarf)
  5. chown Alle Dateien von Benutzer1 bis Benutzer2 (je nach Bedarf)
  6. Stellen Sie sicher, dass sich kein Skript explizit auf den user1Namen (oder id) oder das ~user1Home-Verzeichnis bezieht . Erstellen Sie diese Skripts generisch, indem Sie anstelle des Benutzernamens $LOGNAMEoder $HOMEstatt dessen verwenden.

Wenn bei einem der Prozesse davon ausgegangen wird, dass der Benutzer eine bestimmte ID hat, dann ist dies etwas, auf das Sie achten sollten (was jedoch unwahrscheinlich ist). Danach ist es wahrscheinlich der Fall, dass Benutzer1 deaktiviert / gelöscht werden kann.