成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在 Linux 下追溯進程的發起者

系統 Linux
在 Linux 下要確認一個進程的發起者身份,比如用戶 tom 登錄系統,sudo su - 到 root,然后執行了腳本 hey.sh,要想在 hey.sh 中追溯到發起進程的是 tom 這個用戶,并不是很容易做到準確無誤,花了點時間,找到了一個相對靠譜的方式。

在 Linux 下要確認一個進程的發起者身份,比如用戶 tom 登錄系統,sudo su - 到 root,然后執行了腳本 hey.sh,要想在 hey.sh 中追溯到發起進程的是 tom 這個用戶,并不是很容易做到準確無誤,花了點時間,找到了一個相對靠譜的方式。

先說說遇到的幾個問題:

  1. 用戶登錄之后,使用 sudo hey.sh 的方式執行 hey.sh,倒是可以通過環境變量 SUDO_USER 獲取到 sudo 之前的用戶,但沒有辦法解決上面提到的 sudo su - 這樣不繼承之前用戶環境變量的問題。
  2. 可以用 tty 命令獲取當前進程的 controlling terminal,然后通過 controlling terminal 文件的屬主來確認登錄用戶,這可以解決 1 中提到的問題,但是如果當前進程的父進程是 daemon 或者關掉了標準輸入,就沒有 controlling terminal。
  3. 可以通過讀取 /proc/self/loginuid 獲取當前進程的登錄用戶 ID,對于沒有 controlling terminal 的進程也可以獲取到 ID,但對于 daemon 進程來說,獲取的 ID 可能是 4294967295。

在我的場景下,對于第三個問題,并不是特別要緊,找不到對應的用戶,fallback 回 effective user 就好, 所以,用來追溯進程發起用戶身份的 bash 腳本是這樣:

  1. #!/bin/bash 
  2. # A relatively reliable way to find process initiator on Linux 
  3. user_entry=`getent passwd $(cat /proc/self/loginuid)` 
  4. if [ $? -eq 0 ]; then 
  5.      login_user=`echo ${user_entry} | cut -d: -f1` 
  6. else 
  7.      login_user=${SUDO_USER:-${LOGNAME}} 
  8.      if [ "${login_user}" = "" ]; then 
  9.           login_user=`id -urn` 
  10.      fi 
  11. fi 
  12. echo ${login_user} 
責任編輯:黃丹 來源: Xupeng's blog
相關推薦

2013-11-06 15:35:49

LinuxLinux進程

2015-12-31 09:10:48

DebianIan Murdock去世

2021-03-08 09:41:50

?Aurora自動駕駛

2014-08-01 15:38:37

Linux進程管理

2020-09-18 11:19:03

惡意軟件Linux網絡攻擊

2017-04-11 16:00:40

Linuxsyslog進程

2009-09-16 08:43:51

linux進程線程

2010-01-05 10:00:48

Linux進程間通信

2017-05-03 11:10:14

Linux進程監控cpustat

2019-07-10 10:40:10

Linux庫注入命令

2019-05-08 11:10:05

Linux進程語言

2016-08-23 10:17:42

2009-10-27 08:57:50

linux殺死進程

2017-05-27 14:45:04

Linux命令進程

2024-09-10 09:16:06

2010-07-14 10:41:58

Perl線程

2019-08-08 14:40:18

開發者技能工具

2010-01-22 10:51:54

svn命令linux

2019-05-23 10:11:39

Python編程語言singledispa

2009-12-16 13:11:13

Fedora操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区在线观看 | 一级毛片色一级 | 国产午夜精品久久 | www.一区二区三区.com | 日日射夜夜骑 | 99re视频在线观看 | 韩国av一区二区 | 国产精品毛片一区二区在线看 | 国产精品久久久久999 | 免费av一区二区三区 | 亚洲成人免费视频在线观看 | 亚洲一区二区三区四区五区中文 | 国产一区二区激情视频 | www.日韩高清 | 国产欧美一区二区三区在线看 | 一区影院 | 91久久国产综合久久 | 在线观看中文字幕 | 久久国产精品色av免费观看 | 婷婷丁香在线视频 | 成人妇女免费播放久久久 | 中文字幕第100页 | 欧美日韩一本 | 久久久国产一区二区三区 | 高清欧美性猛交 | 精品一级电影 | 精品二区| 亚洲福利视频一区二区 | 精品欧美乱码久久久久久1区2区 | 午夜午夜精品一区二区三区文 | 久久91精品| 久久99精品久久久久久国产越南 | 日韩三级免费网站 | 欧美日高清视频 | 一区二区在线不卡 | 国产高清免费视频 | 久久99久久 | 亚洲免费视频网址 | 99精品视频在线观看免费播放 | 亚洲国产精品人人爽夜夜爽 | 99热视|