产看和监控登陆过服务器的用户,防黑客么,防止误操作么,监控么,均可。
方法1:
*1 找到用户登陆时执行的脚本文件,比如.bashrc或者xxx_profile文件
*2 知道如何判断登陆用户的ip,host,时间等
*3 测试并加入脚本
类似脚本加入 文件:
PS1="`whoami`@`hostname`:"'[$PWD]' history USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ] then USER_IP=`hostname` fi if [ ! -d /tmp/history ] then mkdir /tmp/history chmod 777 /tmp/history fi if [ ! -d /tmp/history/${LOGNAME} ] then mkdir /tmp/history/${LOGNAME} chmod 300 /tmp/history/${LOGNAME} fi export HISTSIZE=4096 DT=`date +"%Y%m%d_%H%M%S"` export HISTFILE="/tmp/history/${LOGNAME}/${USER_IP} history.$DT" chmod 600 /tmp/history/${LOGNAME}/*history* 2>/dev/null
方法2:
Syslog监视Linux登录用户保障系统安全
管理登录文件是网络管理的重要一部分。每个Linux都具有Syslog的标准功能,它既能登录本地文件,又能登录远程系统。如果你要在一台被攻陷的机器上查看登录文件,特别是在你不太确定攻击者是否已清除登录文件,销毁登录踪迹的情况下,它的作用就尤其关键了。
安装Syslog进行远程登录是及其容易的。你只需在你准备收到登录记录的系统上,使用-r选项,配置Syslog,这样就可以让你接收到远程登录的记录。
比如,在Mandrake Linux系统上,编辑/etc/sysconfig/syslog文件,根据如下所列改变syslogD_OPTIONS的参数。
<ccid_nobr>
<ccid_code> SyslogD_OPTIONS="-r -m 0" |
下一步,重新启动Syslog服务。你也应该确保该机器上的防火墙允许从其它发送登录记录的机器访问UDP端口514。在你要发送登录记录的系统上,修改/etc/syslog.conf文件,增加类似如下的内容到末尾;
<ccid_nobr>
<ccid_code> *.info @loGhost.mydomain.com |
这就表示Syslog发送所有 *.info等级的登录记录到loghost.mydomain.com的主页。你能够改变你想要进行远程登录的设施,但是*.info通常是充分的。在这台机器上,也同样重新启动Syslog,确保防火墙允许从本地主机的UDP端口514上,发送到远程机器。
一个主机上的登录记录应该此刻就出现在远程主机上,同时包括该主机自己的登录信息。比如,你的登录文件是这样的:
<ccid_nobr>
<ccid_code> Jan 8 13:23:22 loghost fam[3627]: connect: Connection refused Jan 8 13:23:24 remote.mydomain.com su(pam_Unix)[3166]: session closed for user root |
正如你从/var/log/messages片断看到的一样,Syslog登录信息是与loghost(当地机器)和远程mydomain.com(远程主机)同样的文件。这时,安装登录监督到登录主机上,用来提醒你想要监督的任何特定的内容(比如失败的登录)。
附录:
linux 限制用户登录
-
-
-
+
-
-
-