shell脚本自动记录登陆后的IP地址和某用户名所操作的历史记录
来源:互联网 发布:vb编程百度云 编辑:程序博客网 时间:2024/06/06 01:23
PS1="`whoami`@`hostname`:"'[$PWD]' (Linux系统提示符是用系统变量PS1来定义的)historyUSER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` (who -u am i 会显示系统中登陆进来的用户及登陆从哪个IP登陆进来的,这里后面过滤了就取值一个登陆进来的IP)if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiif [ ! -d /tmp/ruige ]thenmkdir /tmp/ruigechmod 777 /tmp/ruigefiif [ ! -d /tmp/ruige/${LOGNAME} ]thenmkdir /tmp/ruige/${LOGNAME}chmod 300 /tmp/ruige/${LOGNAME}fiexport HISTSIZE=4096DT=`date '+%Y:%m:%d %r'`export HISTFILE="/tmp/ruige/${LOGNAME}/${USER_IP} ruige.$DT"chmod 600 /tmp/ruige/${LOGNAME}/*ruige* 2>/dev/null
who am i 显示的是实际用户ID即用户登陆的时候的用户ID!!
whoami 显示的是有效用户ID.!!!
whoami 显示的是有效用户ID.!!!
但在大多数情况下,实际用户ID和有效用户ID是一致的。
如
login:root
login:root
Pssword:
$who am i
root pts/0 2007-08-16 13:16 (:0.0)
$whoami
root
$who am i
root pts/0 2007-08-16 13:16 (:0.0)
$whoami
root
当切换用户后:
su tongrui
#who am i
root pts/0 007-08-16 13:16 (:0.0)
#whoami
tongrui
su tongrui
#who am i
root pts/0 007-08-16 13:16 (:0.0)
#whoami
tongrui
也可以说who am i 显示的是切换用户前的实际登陆的用户ID,whoami是切换后的有效的用户ID,此时此终端具有切换后用户的访问权限,如本文中切换后则具有超级用户的访问权限。
who am i 和whoami有何区别?
首先要说明uid和euid(effective user id)的区别。uid就是你login的时候使用的id,而euid则是你当前的有效id。因为登录后我们可以使用su切换用户身份,所以uid和euid可能是不同的,程序在运行的时候一般看的都是euid,当然也有特出的,who am i就是一个。
举个例子:用户用root登陆,使用su变成tongrui,用who am i看到的是root,使用whoami命令看到的是tongrui。
1.whoami显示effective current username(即通过su username1之后,
显示的是username1);
2.who am i显示的是original username(即在使用su命令之前的username).
转载地址:http://ruilinux.blog.51cto.com/4265949/845405
- shell脚本自动记录登陆后的IP地址和某用户名所操作的历史记录
- linux 实现通过记录登陆后的IP地址和某用户名所操作的历史记录
- 自动记录数据库客户端登陆的机器和IP地址的触发器
- 判断登陆权限的操作,登录后调到之前所操作的地址。
- 获得本地的ip地址和用户名
- 登陆后用户名的获取
- 自动记录远程登陆者的IP
- SHELL脚本中取得域名的IP地址
- Shell脚本 过滤掉错误写法的ip地址
- 自动记录上次登陆成功的用户信息
- 自动记录上次登陆成功的用户信息
- 自动记录上次登陆成功的用户信息
- 自动记录上次登陆成功的用户信息
- 自动记录上次登陆成功的用户信息
- 自动记录上次登陆成功的用户信息
- 自动记录上次登陆成功的用户信息
- 自动记录上次登陆成功的用户信息
- 自动记录上次登陆成功的用户信息
- 响应式布局入门
- Firebug使用之一--Console Panel
- 溢出
- 1023:坑爹的黑店
- Why we should use closures in python
- shell脚本自动记录登陆后的IP地址和某用户名所操作的历史记录
- 1015:构建矩阵
- iOS多线程
- hdu1231 最大连续子序列
- 1013:摆积木
- Linux从用户层到内核层系列 - TCP/IP协议栈部分系列11: 再话Linux系统调用
- Firebug使用之二--Command Line
- 浙大研究生复试上机考试2005——畅通工程
- Wdk FAQ : [FLTFL_OPERATION_REGISTRATION_SKIP_PAGING_IO] Why is this flag used here? (minifilter)