Linux 账号安全管理及应用

一、账号安全控制

1.系统账号清理

1.1 将非登录用户设置为无法登录

usermod -s  /etc/nologin  pkm          #将名为pkm 用户的shell设为/sbin/nologin

用户 pkm 将无法登录

1.2 锁定长期不使用的账号

usermod  -L      用户名              #锁定用户账号密码
usermod  -U      用户名              #解锁用户账号密码

passwd  -S       用户名              #查看用户账号状态

1.3 删除无用账号

userdel  -r        用户名              #删除用户    

1.4 锁定账号文件 /etc/passwd 与 /etc/shadow

chattr      +i        /etc/passwd            #锁住文件passwd

chattr      -i         /etc/passwd            #解锁文件passwd

lsattr        /etc/passwd                 #查看文件锁定状态

2.密码安全控制

2.1 密码安全有效期

2.1.1 创建新用户适用

  vim       /etc/login.defs                                      #在/etc/login.defs配置文件里设置

2.1.2 适用于已有用户

chage      选项       用户名              

设置账号过期日期

强制用户下次登陆修改密码

3. 历史记录限制

当我们使用history 命令时可以查看到历史使用命令,这非常的不安全

3.1 临时清除历史命令记录

history    -c                  #清除历史命令记录

3.2 登出时自动删除历史命令记录

1.vim   .bash_logout                          

2.rm  -f  $HOME/.bash_history 

3.3 设置历史命令条数

1. vim   /etc/profile

2. export   HISTSIZE= 设定的条数

3.4 设置终端自动注销

1. vim   /etc/profile

2. export   TMOUT=5

4. su 切换用户

4.1 su 命令

su - 目标用户                                        # 将使用目标用户登录Shell环境

su   目标用户                                        #不改变当前工作目录和环境变量设置,不完全切换

4.2禁止用户使用su命令

默认情况下,任何用户都允许使用 su 命令,从而有机会反复尝试其他用户(如 root) 的登录密码,这样带来了安全风险

将授权使用 su 命令 的用户添加到 wheel 组,修改/etc/pam.d/su 认证配置以启用 pam_wheel 认证

gpasswd    -a   用户名  组名         #将用户添加到组

解开#注释,将pkm加入wheel组之后就可以普通用户之间切换登录

二、PAM 模块认证

Linux-PAM,是linux可插拔认证模块,是一套可定制、 可动态加载的共享库,使本地系统管理员可以随意选择程序的认证方式

PAM使用/etc/pam.d/下的配置文件,来管理对程序的认证方式。应用程序调用相应的PAM配置文件,从而调用本地的认证模块,模块放置在/1ib64/security下,以加载动态库的形式进行认证。比如使用su命令时,系统会提示输入root用户的密码,这就是su命令通过调用PAM模块实现的

1. 查看某个程序是否支持 PAM 模块

ls  /etc/pam.d

2. PAM认证流程:

required: 表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。

requisite: 与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。

sufficient: 如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。

optional: 不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型),
 

三、sudo 机制提升权限

普通用户想要使用某些命令但没有权限:

在/etc/sudoers 内进行sudo 设置

visudo   或    vim   /etc/sudoers

1. sudo 语法格式:

用户 主机名=命令程序列表
用户 主机名=(用户)命令程序列表

使用户jqg 在所有(ALL)主机都可使用useradd,userdel命令

创建用户cs:

删除用户cs:

2.多个用户或组设置别名

当使用相同授权的用户较多,或者授权的命令较多时,可以采用集中定义的别名。用户、 主机、命令部分都可以定义为别名(必须为大写)

分别通过关键字User_Alias、Host_Alias、Cmnd_Alias来进行设置
 

切换到cs 使用useradd命令 创建用户wjh

3.启用sudo操作日志
 

sudo日志记录可被管理员查看,在/etc/sudoers 文件中增加“Defaults logfile”设置

用户使用sudo命令 可在/var/log/sudo 查看到使用记录

四、限制更改GRUB 引导参数

通常情况下在系统开机进入GRUB菜单时,按e键可以查看并修改GRUB引导参数,这对服务器是一个极大的威胁
可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数
 

grub2 - setpassword            #直接设置grub密码

在开机时按esc键,e键进行编辑

此时系统提示我们需要输入用户名和密码才能进入编辑:

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值