Linux用户账户概述:
UID和GID:
超级用户root的UID和GID:0 (固定为0的!)(一般情况下,一旦服务器上存在了一个不叫root 但是UID 是0 的账户,那么就很有可能出现了安全性问题,一般就是被入侵了,他是一个后门账号 )
系统用户UID和GID:1-999 (Linux的发行版本不同 这个范围也不太相同)
普通用户的UID和GID:1000-65535
/etc/passwd:存放用户账号名、UID GID 宿主目录 登录shell
/etc/shadow:存放用户账号名、密码、密码天数、账户失效日期等
查看/etc/passwd里面的内容:分别对应如下的信息。
字段1:用户账号的名称
字段2:用户密码字串或者密码占位符“x”
字段3:用户账号的UID号
字段4:所属基本组账号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录shell信息 (可以看到上面的登录shell是/bin/bash 这个shell是允许我们远程登录的,但是一旦shell是/sbin/nologin的话,就是不允许远程登录的!)
查看/etc/shadow文件。
字段1:用户账号的名称
字段2:加密的密码字串信息
字段3:上次修改密码的时间(天数:从1970年1月1号到最近依次修改密码时间的间隔天数)
字段4:密码的最短有效天数,默认值为0
字段5:密码的最长有效天数,默认值为99999
字段6:提前多少天警告用户口令将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:账号失效时间,默认值为空
字段9:保留字段(未使用)
将非登录用户的shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名
锁定长期不使用的账号
删除无用的账号
userdel -r 用户名
锁定账号文件 passwd shadow
检查后门账号:
awk -F: '$3==0{print $1}' /etc/passwd
(检查/etc/passwd中的第三列中等于0 的结果,然后将对应的第一列打印出来)
修改用户宿主目录下的“.bash_profile“文件,在文件末尾处追加1行:export TMOUT=时间(单位是秒)
grep "ALL=(ALL)" /etc/sudoers | grep -v "#" |grep -v "^#"
这里一般就是出现的 root 和%wheel 出现其他的用户就需要额外的注意啦
记录格式:用户 主机名列表=命令程序列表
visudo
.....
%wheel ALL=NOPASSWD:ALL zhangsan localhost=/sbin/ifconfig lisi localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route User_Alias ADMINS=wangwu,zhaoliu (这里就是要实现多个用户具备相同权限,起的别名) Host_Alias SERVERS=filesvr,websvr,ftpsvr (共同享有的主机的范围) Cmnd_Alias NETCMD=/sbin/ifconfig,/sbin/route (可以操作的命令) ADMINS SERVERS=NETCMD (最终就是wangwu zhaoliu 都对filesvr,websvr,ftpsvr 可以配置ip 以及路由接入等)
John the Ripper 简称JR
一款密码分析工具,支持字典是的暴力破解
通过对shadow文件的口令分析,可以检测密码的强度
官方网站:http://www.openwall.com/john/