Linux系统安全及应用(一):密码安全、命令历史限制、终端自动注销、su命令和限制su命令



1账号安全基本措施

系统账号清理

  • 将非登录用户的Shell设为/sbin/nologin

    禁止非登录用户通过Shell访问系统

    usermod -s /sbin/nologin 用户名
    
  • 锁定长期不使用的账号

    对长期不活跃的账号进行锁定,避免潜在的安全风险。

    usermod -L 用户名  # 锁定用户
    passwd -l 用户名  # 锁定密码
    passwd -S 用户名  # 查看账号状态
    
  • 删除无用的账号

    清理无用的账号,保持系统用户列表的简洁和安全。

    userdel [-r] 用户名  # 使用-r选项同时删除用户的主目录
    
  • 锁定账号文件passwd、 shadow

    锁定关键系统文件以防止未授权的更改。

    chattr +i /etc/passwd /etc/shadow  # 锁定文件
    lsattr /etc/passwd /etc/shadow  # 查看文件属性
    chattr -i /etc/passwd /etc/shadow  # 解锁文件
    

密码安全控制

  • 设置密码有效期

    强制用户定期更新密码,提升密码的安全性。

    新建用户: 修改全局密码策略,适用于所有新建用户。

    [root@localhost ~]# vi /etc/login.defs # 修改配置文件
    PASS_MAX_DAYS  30  # 密码有效期为30天
    

    已有用户: 针对特定用户设置密码有效期。

    [root@localhost ~]# chage -M 30 lisi  
    # 设置用户lisi密码有效期为30天
    [root@localhost ~]# cat /etc/shadow | grep lisi  
    # 查看用户lisi的密码信息
    
  • 要求用户下次登录时修改密码

    强制用户在下次登录时更新密码,提升安全性。

    [root@localhost ~]# chage -d 0 zhangsan  
    # 将用户zhangsan的密码修改日期设置为0
    
    [root@localhost ~]# cat /etc/shadow | grep zhangsan  
    # 验证更改
    

命令历史限制

  • 减少记录的命令条数

    限制历史命令记录数量,减少敏感信息的暴露。

    [root@localhost ~]# vi /etc/profile
    export HISTSIZE=200  # 设置历史记录条数为200
    [root@localhost ~]# source /etc/profile  # 使更改生效
    
  • 登录时自动清空历史

    在每次登录时自动清空命令历史记录,防止命令泄露。

    [root@localhost ~]# vi ~/.bashrc
    ##在文件中插入:输入空字符覆盖文件实现清空
    echo "" > ~/.bash_history 
    

终端自动注销

  • 闲置600秒后自动注销

    设置终端闲置600秒后自动注销,防止长时间未操作的会话被利用。

[root@localhost ~]# vi /etc/profile
export TMOUT=600  # 设置超时时间为600秒
[root@localhost ~]# source /etc/profile  # 使更改生效

拓展:两个profile文件的问题修复过程

  1. 注销时间设置太短导致无法输入命令

    解决办法:在另一台机器上使用scp命令,将本机正常机器profile传输覆盖到故障机器的同名文件。

    scp /etc/progile root@192.168.10.11:/etc/profile
    
  2. 误删了profile文件,除最基础命令外其余命令都无法使用

    解决办法:同样方式,复制使用另一台机器的文件,在本机操作,拷贝正常机器的profile文件到本机再source。

    scp /etc/progile root@192.168.10.12:/etc/profile
    

2使用su命令切换用户

用途

su是Substitute User的缩写,用于切换用户身份

格式

su - 目标用户  # 使用目标用户的登录shell环境

密码验证

  • root用户:任意用户切换到root时,不验证密码
  • 普通用户:切换到其普通用户时,需要验证目标用户的密码
##带-选项表示将使用目标用户的登录shell环境
[test@localhost ~]# su - root  # 切换到root用户
[root@localhost ~]# whoami
root  # 验证当前用户为root、

3限制使用su命令的用户

  • 将允许使用su命令的用户加入wheel组

    仅允许wheel组内的用户使用su命令切换到其他用户。

  • 启用pam_wheel认证模块(PAM系统相关的认证权限管理)

    通过PAM模块控制su命令的使用权限

    [root@localhost ~]# vi /etc/pam.d/su
    #%PAM-1.0
    auth   sufficient pam_rootok.so  # 如果是root用户,直接通过
    auth   required pam_wheel.so use_uid  # 仅允许wheel组成员使用su
    
  • 查看su操作记录

    su命令的操作记录保存在安全日志文件/var/log/secure中。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值