linux:怎么知道当前登录是 su 过来的? 还是真实登录上来的?

问题,如本文题目

 

概念:effective id, real id

  effective id:有效id:即当前的用户id:通过【id 或者 whoami】查看

  real id :原始id(实际id):即当前这个会话的登录用户id:可以通过【who + tty】来查看

 

那回到本文问题,就很简单了:

  运行who、whoami 对比看看:如果相同就是登录上来的;如果不同,就是su切换过来的

  可能需要结合tty的终端设备信息来辅助判断

 

另外的方法,直接通过该tty终端设备来反向查询:

  1. tty 查到终端设备,假设为T
  2. lsof  T 可以差的shell进程号,假设为P
  3. cd /proc/P
  4. 然后,可以查询:loginuid、status 2个文件,一对比uid的值,就能知道了:)

 

posted on 2021-06-04 10:30  jinzhenshui  阅读(162)  评论(0编辑  收藏  举报