jxnxsdengyu
作者jxnxsdengyu课题专家组·2020-04-09 14:30
系统工程师·江西农信

技术技巧---Linux 用户管理

字数 2123阅读 1001评论 0赞 1

摘要

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 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广