第一步,查看可以登录的用户名:即排除不含 'nologin'的.
-v, --invert-match select non-matching lines
-v 或者 --invert-match 反向匹配,实际就是取匹配行的补集,也就是不符合条件的那些行
[root@test ~]# cat /etc/passwd | grep -v 'nologin'
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
news:x:9:13:news:/etc/news:
gm001:x:500:500::/home/gm001:/bin/bash
mysql:x:100:104:MySQL server:/var/lib/mysql:/bin/bash
virtual:x:503:503::/home/vir:/bin/bash
[root@test ~]#
第二步,进一步分析上面的账号.
#查看所有登录的用户,日期
# last
[root@test ~]# passwd virtual -l
Locking password for user virtual.
passwd: Success
重新释放: passwd virtual -u
Unlocking password for user virtual.
passwd: Unsafe operation (use -f to force).
(2) 永久性删除用户账号
userdel virtual
groupdel virtual
usermod –G virtual virtual (强制删除该用户的主目录和主目录下的所有文件和子目录)
(3) 显示用户信息
[root@test ~]# id virtual
uid=503(virtual) gid=503(virtual) groups=503(virtual)
第三步 用finger命令 对可疑账号分析.
yum install finger
Total download size: 21 k
Is this ok [y/N]: y
Downloading Packages:
finger-0.17-32.2.1.1.i386.rpm
finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的 用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。
[root@test ~]# finger gm001
Login: gm001 Name: (null)
Directory: /home/gm001 Shell: /bin/bash
On since Sat Aug 28 14:10 (CST) on pts/0 from 111.*.14.222
On since Sat Aug 28 14:10 (CST) on pts/1 from 111.*.14.222
1 hour 25 minutes idle
No mail.
No Plan.
[root@test ~]# finger root
Login: root Name: root
Directory: /root Shell: /bin/bash
Last login Wed Jul 21 05:02 (CST) on pts/2 from from 111.*.14.222
No mail.
No Plan.
------------------- baidu-------------------
关于linux下口令相关的文件存放位置说明
awk -F':' '{print $1}' /etc/passwd
把/etc/passwd里列出的用户密码全部修改成112233
不过把系统的秘密全改成一样 非常不推荐 降低系统安全
#!/bin/bash
for name in `cat /etc/passwd | cut -d":" -f1`
do
passwd $name <112233
112233
EOF
done
-v, --invert-match select non-matching lines
-v 或者 --invert-match 反向匹配,实际就是取匹配行的补集,也就是不符合条件的那些行
[root@test ~]# cat /etc/passwd | grep -v 'nologin'
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
news:x:9:13:news:/etc/news:
gm001:x:500:500::/home/gm001:/bin/bash
mysql:x:100:104:MySQL server:/var/lib/mysql:/bin/bash
virtual:x:503:503::/home/vir:/bin/bash
[root@test ~]#
第二步,进一步分析上面的账号.
#查看所有登录的用户,日期
# last
(1)使用如下命令关闭用户账号:
virtual:x:503:503::/home/ftp:/bin/bash[root@test ~]# passwd virtual -l
Locking password for user virtual.
passwd: Success
重新释放: passwd virtual -u
Unlocking password for user virtual.
passwd: Unsafe operation (use -f to force).
(2) 永久性删除用户账号
userdel virtual
groupdel virtual
usermod –G virtual virtual (强制删除该用户的主目录和主目录下的所有文件和子目录)
(3) 显示用户信息
[root@test ~]# id virtual
uid=503(virtual) gid=503(virtual) groups=503(virtual)
第三步 用finger命令 对可疑账号分析.
yum install finger
Total download size: 21 k
Is this ok [y/N]: y
Downloading Packages:
finger-0.17-32.2.1.1.i386.rpm
finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的 用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。
[root@test ~]# finger gm001
Login: gm001 Name: (null)
Directory: /home/gm001 Shell: /bin/bash
On since Sat Aug 28 14:10 (CST) on pts/0 from 111.*.14.222
On since Sat Aug 28 14:10 (CST) on pts/1 from 111.*.14.222
1 hour 25 minutes idle
No mail.
No Plan.
[root@test ~]# finger root
Login: root Name: root
Directory: /root Shell: /bin/bash
Last login Wed Jul 21 05:02 (CST) on pts/2 from from 111.*.14.222
No mail.
No Plan.
------------------- baidu-------------------
警告: usermod 最好不要用它来改用户的密码,因为他在/etc/shadow中显示的是明口令;修改用户的口令最好用passwd ;
[root@localhost ~]# usermod -p 123456 fishlinux 注:修改fishlinux的口令是123456 ;
[root@localhost ~]# more /etc/shadow |grep fishlinux 注:查询/etc/shadow文件中fishlinux的口令;我们看到明显是没有加密;
fishlinux:123456:13092:0:99999:7:::
-----------------
[root@localhost ~]# more /etc/shadow |grep fishlinux 注:查询/etc/shadow文件中fishlinux的口令;我们看到明显是没有加密;
fishlinux:123456:13092:0:99999:7:::
-----------------
关于linux下口令相关的文件存放位置说明
/usr/bin/passwd 包含 passwd 命令。
/etc/passwd 包含用户 ID、用户名、主目录、登录 shell 和 finger 的信息
/etc/security/passwd 包含加密的密码和安全性信息。
/etc/shdow 用户加密后的口令存放位置
通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。
得到用户名简单:awk -F':' '{print $1}' /etc/passwd
把/etc/passwd里列出的用户密码全部修改成112233
不过把系统的秘密全改成一样 非常不推荐 降低系统安全
#!/bin/bash
for name in `cat /etc/passwd | cut -d":" -f1`
do
passwd $name <112233
112233
EOF
done
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9390331/viewspace-701969/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9390331/viewspace-701969/