Linux用户管理是系统管理中一个重要组成部分,合理的用户设置能极大的提高系统安全。
1、添加用户
Linux使用useradd添加用户,在用户创建过程中系统将执行以下过程:
(1)创建一个用户名和用户组,生成uid和gid,默认生成的用户组和用户名相同。可使用如下方式手动设置:
useradd -u
(2)创建一个用户家目录,默认为/home/<用户名>。可使用如下方式手动设置:
useradd -d <用户家目录>
(3)初始化家目录,默认调用“/etc/default/useradd”下配置,使用“/etc/skel”中文件生成家目录初始环境变量。
(4)设置用户可用shell,可使用如下方式手动设置:
useradd -s
2、删除用户
userdel -r // -r表示同时删除用户家目录,无参数会保留用户目录
3、修改用户
(1) 修改用户uid、gid、组群,uid和gid可以用名字表示,其中gid必须存在
usermod -u
usermod -g -G //-g为定义用户主组,-G为附属组列表。主组必须存在,附属组可以不存在。
4、用户相关配置文件
用户配置文件(/etc/passwd),权限默认为root读写,其他用户只读。
文件格式:
<用户名:密码 :UID : PID : 注释信息:用户家目录 :SHELL> //密码显示为“X”,实际保存在/etc/shadow文件中
密码配置文件(/etc/shadow),权限默认为root只读,其他用户无读写权限。
文件格式:
<用户名:密码:密码变更日期(天):密码不可变更天数:密码强制变更天数:密码变更期限前警告期限:密码变更宽恕期限:账号失效日期 : 保留位> //密码为 *或!!分别代表账号不可用和锁定状态
组配置文件(/etc/group)
文件格式:
<组名 : 密码 :gid : 组内用户> //密码通常为“x",保存在/etc/gshadow中。 组内用户为空则表示仅有同gid的用户名
组密码配置文件(/etc/gshadow),权限默认为root只读,其他用户无读写权限。
文件格式:
<组名 :密码 : 组管理者: 组内用户列表> //密码为空或!表示无密码。 仅当gshadow有密码时非该用户组用户能使用”newgrp <组名>“临时切换为该用户组
1、限制用户密码复杂度、有效期
vim /etc/login.defs
PASS_MAX_DAYS 99999 //密码最大使用天数,99999表示不限制
PASS_MIN_DAYS 0 //密码最小允许修改时间,0为不限制
PASS_MIN_LEN 5 //密码最小长度
PASS_WARN_AGE 7 //密码过期提前警告时间
2、限制用户登录
useradd -s /sbin/nologin //使用nologin禁止用户登录系统
useradd -s /bin/false //使用false禁止一切程序登录,是更严格的禁止方法
3、限制切换用户
vim /etc/pam.d/su
auth required pam_wheel.so use_uid //去掉改行注释,仅允许wheel组内用户使用su切换用户
4、限制用户登录尝试次数,本地登录修改/etc/pam.d/system-auth, ssh限制修改/etc/pam.d/sshd,修改方式相同。
/etc/pam.d/system-auth
auth required pam_tally2.so deny=10 unlock_time=120 root_unlock_time=60 //添加此行在文件最前,限制本地登录次数和锁定时间
1、用户名无法添加,也无法修改密码
查看/etc下passwd,group,shadow,gshadow等文件是否设置了隐藏属性限"i"制修改,通常此隐藏属性用于安全加固。
lsattr /etc/{passwd,shadow,group,gshadow}
----i--------e- /etc/gshadow //以gshadow为例,lsattr发现属性显示中有"i"字段则为限制修改
chattr -i /etc/gshadow //去除"i"字段,以上4个文件中任意文件有"i"字段将导致新建用户失败
2、发现某非root用户登录后 id显示为root
查看/etc/passwd文件看是否uid为0,Linux系统中以uid识别用户,uid为0则为root权限用户。当多个用户名uid相同时,将被系统认为是相同用户,权限相同。如发现未知用户uid为0,则为留有的系统后门。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞1
添加新评论0 条评论