ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux 用户ssh登录权限检查

Linux 用户ssh登录权限检查

原创 Linux操作系统 作者:victorymoshui 时间:2011-07-12 15:08:07 0 删除 编辑
第一步,查看可以登录的用户名:即排除不含 '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

(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:::

-----------------

关于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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-26

  • 博文量
    173
  • 访问量
    303361