我目前通過我的服務器上的所有進程運行了user1
id。現在我們有一個新用戶user2
,我們希望所有運行user1
的進程運行user2
。這是爲了保持一致性,因爲所有其他主機使用user2
我應該遵循什麼東西,並且必須做的事情?請注意,user1
和user2
都具有root權限。從user1
當前運行的進程數量幾乎是服務器上運行的所有進程的一半。更改所有正在運行的進程的用戶標識而不停止它們
0
A
回答
1
我不相信這是可能的。一個進程本身可以調用setuid()
,但試圖改變正在運行的進程的用戶身份可能會產生災難性後果:需要某些特權的進程突然失去它們導致異常,或者進程不應該具有某些特權(並且寫入不好)在獲得它們後會對系統造成損害。來自進程的歷史日誌數據可能不再有意義,並且如果進程具有任何與其用戶名(例如其主目錄中的文件)相關的任何類型的緩存或者緩存可能在沒有該進程的情況下變爲無效的特權任何方式知道這一點。
這樣做的「真正」方法是僅以新用戶身份重新啓動進程。
相關問題
- 1. 更改正在運行的程序的有效用戶標識的方法?
- 2. Netbeans運行 - >停止生成不會停止正在運行的java進程
- 3. 停止NSOperationQueue,當它正在對UI進行更改時
- 4. 終止python中的所有正在運行的進程
- 5. 對所有正在運行的進程不顯示進程MainWindowTitle
- 6. 停止所有正在運行的線程在活動中運行
- 7. 停止正在運行的線程
- 8. Pm2進程停止運行
- 9. 更改用戶運行Jenkins進程
- 10. 如何在Netbeans中停止正在運行的進程
- 11. 如何停止當前線程以外的所有正在運行的線程?
- 12. PHP - 在運行時更改進程的所有權
- 13. 在不停止正在運行的實例的情況下更改正在運行的EC2實例的.pem鍵
- 14. 已停止的進程是否會阻止其他進程的正常運行?
- 15. 有沒有辦法在concurrent.futures中停止正在運行的進程?
- 16. 如何停止另一個正在運行的進程java android
- 17. 如何停止所有正在運行的計時器
- 18. 停止所有正在運行的活動和admob廣告
- 19. 如何停止所有正在運行的流星服務器
- 20. 如何在運行所需進程時更改標籤
- 21. PyQt的:app.exec_()停止所有運行
- 22. 在運行時暫停當前進程中的所有線程
- 23. 如何在運行後停止進程?
- 24. psutil.process_iter()不會返回所有正在運行的進程
- 25. 停止用戶直接運行程序
- 26. 在Linux中更改進程標識
- 27. 在運行時更改UIBarButton標識符
- 28. python停止線程正在運行
- 29. 停止在IronPython中運行的所有線程
- 30. 更改webkit css轉換的位置/目標值而不停止它?
這是一個奇怪的問題。使用您的系統上的工具(如useradd -l)來修改用戶。這改變了名稱而不是數字uid。您必須查看所有啓動文件並更改它們 - 然後重新啓動。祝你好運 - 你需要它。 –
那麼唯一的辦法就是停止所有的流程,並從新的用戶ID開始呢? – Invictus
我其實不會那樣做,但它確實回答你的問題。 @丹菲爾給了你一個更好的功能性答案。除了某些服務在沒有重新啓動的情況下可能無法重新啓動。 –