Linux账户安全与sudo授权

账号安全控制

常用命令

更改用户登录shell,禁止用户登录系统

usermod -s /sbin/nologin 用户名
usermod -s /bin/false 用户名

锁定账号

usermod -L 用户名           锁定用户账户  (在选用户界面隐藏)
passwd -l 用户名            锁定用户密码

passwd -S 用户名            查看用户状态

清空账号密码

passwd -d 用户名            清空账户密码

chattr 锁定账户文件

chattr 可用锁定账户文件/etc/passwd 、账户密码文件/etc/shadow ,
使得无法创建新用户、无法修改密码

chattr +i /etc/passwd /etc/shadow      锁定文件
chattr -i /etc/passwd /etc/shadow      解锁文件

lsattr /etc/passwd /etc/shadow         查看文件状态

在这里插入图片描述

在这里插入图片描述
由这两个图可用得出,

锁定文件新建用户更改密码
/etc/passwd禁止允许
/etc/shadow禁止禁止

新建用户时,需要在账户文件中添加内容,再将新用户密码信息添加到密码文件中
一旦禁止账户文件,就无法新建用户,但仍可以更改其他用户的密码;
禁止密码文件后,不但不能更改密码,还无法新建用户,因为新用户的密码信息无法存到密码文件中

chage 密码安全控制

chage -M 日期 用户            设置用户密码有效期
chage -E 年-月-日             设置过期日期

在这里插入图片描述

如果不想每次新建用户都要进行设置更改 可以进入
/etc/login.defs
密码配置文件进行修改
里面还可以看到GID和UID的最大最小值,权限默认掩码等
在这里插入图片描述

命令历史限制

在 Linux 里可以使用 history命令查看用户的所有历史操作,同时 shell 命令操作记录默认保存在用户目录的.bash_history 文件中

[root@hbh ~]# history
    1  cd
    2  cd /etc/home
    3  cd /etc/hosthome
    ……
    639  vim /etc/login.defs
    640  histroy
    641  history

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

echo $HISTSIZE命令查看当前默认的记录数量
在这里插入图片描述
可以在 /etc//profile 文件中修改默认记录数量
在这里插入图片描述

在这里插入图片描述

history -c 命令只可以临时清除记录,重启后记录还在
在这里插入图片描述
重启后

在这里插入图片描述

我们可以使用echo ’ ’ > ~/.bash_history 清空存放命令操作记录的文件

更是可以将改命令 存放到 ~/.bashrc 中,使得登陆时自动清空历史命令

su与sudo

su 限制普通用户使用su

su 切换用户
su - 用户 切换到目标用户的家目录

由root切换到其他用户时,不用验证密码

而由普通用户切换到其他用户时,需要验证目标用户的密码

而这样就有了一定风险
su使得每个用户都具有反复尝试其他用户的登陆密码的机会,若是root用户,则风险更大
所以需要加强su命令的使用控制,可以借助PAM认证模块,仅允许极个别指定用户可使用su命令进行切换

可以在 /etc/pam.d/su 文件里设置禁止普通用户使用su命令

在这里插入图片描述

auth sufficient pam_rootok.so 


#auth required pam_wheel.so use_uid

重点看这两行内容
开头无#,则表示开启
有#,则表示仅注释,不启动

当前状态为默认状态,2开启,6注释

状态含义
2开启,6注释,默认状态所有用户之间都可以使用su命令进行切换;root到普通用户无需密码
2开启,6开启只有root和wheel组内的用户可以使用su命令
2注释,6开启仅wheel组内用户使用su
2注释,6注释所有用户都能使用su命令,root到普通用户需要输入密码

第2行的pam_rootok.so模块的主要作用是使uid为0的用户,即 root用户能够直接通过认证而不用输入密码

示例
现在有两个普通用户buyaojin,shiyan,且都设置了密码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

限制成功

sudo 授权命令

作用:
以其他用户身份(如root)来执行授权的命令

visudo

vim /etc/sudoers
在这里插入图片描述
在修改 /etc/sudoers 文件中,因为该文件的权限是 440,只读权限,所以在保存时,需要 wq! 强制保存

编写格式
用户 主机名=自定义命令程序列表
用户 主机名=(用户) 自定义命令程序列表

用户:直接授权指定的用户名,或采用“%组名”的形式(授权一个组的所有用户)

主机名:使用此规则的主机名,没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机

(用户):用户能够以何种身份来执行命令。此项可省略缺省时以root用户的身份来运行命令

命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号“,”进行分隔;
ALL则代表系统中的所有命令

示例
在这里插入图片描述

在这里插入图片描述

也可以在/etc/sudoers中,启用如下行
在这里插入图片描述
表示在wheel组中的用户在执行sudo命令时,无需输入密码即可执行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值