我在Perl中创建了一个登录脚本,该脚本必须在Mac OS X客户端上运行并记录“登录目录服务”用户名。
我尝试分别使用getlogin()
,getpwuid($<)
。
现在问题是,由于登录脚本在客户端登录时以root身份在系统上运行,getpwuid($<)
总是以root身份提供用户名。使用getlogin()
函数时,我确实获得了用户名,但是对于先前在系统上登录的用户而言。
我正在使用由Mac OS服务器组成的开放目录环境。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
你能使用last
吗? (man page)登录名称和持续时间已在wtmp
文件中。我认为你不需要自己记录它们。
答案 1 :(得分:0)
您在谈论loginhook脚本吗?如果是这样,它将作为参数传递用户名,因此$ARGV[0]
应该是您所需要的。