免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3128 | 回复: 12
打印 上一主题 下一主题

有什么方法可以知道当前用户是从哪个IP 连到Linux 中来的吗 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-25 11:44 |只看该作者 |倒序浏览
有个shell程序需要记录某个用户什么时候运行了它。 想把用户登陆的IP 记录下来,不知道有没有什么办法。

论坛徽章:
0
2 [报告]
发表于 2008-12-25 11:47 |只看该作者
w
就有记录登陆IP啊

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
3 [报告]
发表于 2008-12-25 11:56 |只看该作者
  1. w -hs|awk '{print $1,$3}'
复制代码

论坛徽章:
0
4 [报告]
发表于 2008-12-25 12:09 |只看该作者

回复 #3 ynchnluiti 的帖子

w 看到的是所有用户的 IP , 但我怎么知道是当前这个用户的呢
如果有个用户名,从两个不同的 IP 登陆,w 就区分不了

论坛徽章:
0
5 [报告]
发表于 2008-12-25 12:33 |只看该作者
w 与 last

然后通过tty关联

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
6 [报告]
发表于 2008-12-25 13:41 |只看该作者
原帖由 welcome008 于 2008-12-25 12:33 发表
w 与 last

然后通过tty关联

好办法。

  1. #!/bin/bash

  2. TTY=`tty`
  3. #echo $TTY
  4. eval $(w|grep "${TTY#/*/}"|awk '{print "USER="$1;print "IP="$3}')

  5. #echo "$USER logged from $IP"
  6. last | grep "${USER}.*${TTY#/*/}.*${IP}.*still"
复制代码

论坛徽章:
0
7 [报告]
发表于 2008-12-25 14:25 |只看该作者
  1. echo $SSH_CLIENT|awk '{print $1}'
复制代码

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
8 [报告]
发表于 2008-12-25 14:29 |只看该作者
原帖由 fangdingj 于 2008-12-25 14:25 发表
echo $SSH_CLIENT|awk '{print $1}'  

只针对ssh连上来的吧?
还需要用whoami

论坛徽章:
0
9 [报告]
发表于 2008-12-25 16:37 |只看该作者

回复 #6 ynchnluiti 的帖子

w 获得的信息有可能是 IP , 有可能是 机器的名字,
如果只想得到的是IP,有可能吗

另外w 是怎么获得这个信息的, 有没有办法通过系统调用来取到 IP 呢?

论坛徽章:
0
10 [报告]
发表于 2008-12-25 16:41 |只看该作者
who -R
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP