linux-系统安全账号安全基本措施chattrchagehistory
Posted 可乐卷儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux-系统安全账号安全基本措施chattrchagehistory相关的知识,希望对你有一定的参考价值。
文章目录
一、系统账号清理
- 系统账号清理有以下四种方法:
- 将非登录用户的shell设为/sbin/nologin:user -s /sbin/noligin
- 锁定长期不使用的账号::passwd -L /// usermod -L
- 删除无用的账号:userdel
- 锁定账号文件:charrt命令
下面就重点介绍第四种方法:锁定账号文件:charrt命令
1、锁定账号文件:chattr命令
- 改变文件的最核心最低层的权限命令
- 只有root可以执行,并且仅对root有效
- 相比较chmod中的rwx的权限还要底层
2、常用选项
+i 文件路径:锁住文件,仅可读;任何人不给更改,包括root
-i /rtc/shadow:解锁文件
+a 文件名:加上指定文件名可追加内容的权限,使用echo追加;可读可追加 //
-a 文件名:解锁可追加内容的权限
lsattr /etc/shadow:查看底层真实文件
3、实例
- chattr +i /etc/shadow
lsattr /etc/shadow:查看底层真实文件
vim /etc/shadow:进入编辑资料可以强制保存退出:wq!
但是锁住文件之后是无法强制保存退出的
- chattr -i /rtc/shadow:解锁文件
3、在12文件里面追加内容we,不可以进入文件vi编辑
- chattr -a 12
二、密码安全控制-chage命令
- 设置密码有效期
- 要求用户下次登录时修改密码
1、概念及配置文件
chage命令:对存在的用户修改密码有效期
配置文件:etc/login.defs;决定shadow的默认信息
vim /etc/login.defs
参数信息:
PASS_ MAX_DAYS 99999:#密码最大有效期
PASS_ MIN_DAYS 0:#两次修改密码的最小间隔时间
PASS_ MIN_LEN 5:#密码最小长度>对于root无效
PASS_WARN_AGE 7:#密码过期前多少天开始提示
UID_ MIN 1000:#用户ID的最小值
UID_MAX 60000:#用户ID的最大值
GID_MIN 1000 :#组ID的最小值
GID_ MAX 60000:#组ID的最大值
#USERDEL_CMD /usr/sbin/userdel_local:#当删除用户的时候执行的脚本
CREATE_ HOME yes:#使用useradd的时候是够创建用户目录
USERGROUPS_ ENAB yes:#指定删除用户的时候是否同时删除用户组,准备地说,这里指的是删除用户的初始组
UMASK 077:用户主目录的权限默认设置为077 (文件目录默认为022,注释里面有这方面介绍)
MAIL_DIR /var/spool/mail:#创建用户时,要在目录/var/spoo/mail中创建一 个用户mail文件
ENCRYPT_ METHOD SHA512:#指定用户密码采用的加密规则,默认采用SHA512,这是新的密码加密模式,原先的Linux只能用DES或MD5加密
su_ WHEEL_ONLY yes:只允许wheel组用户可以使用su
2、常用选项
-l 用户名:当前系统中用户的密码有效期
-h:chage命令的帮助信息
-d 日期 用户名:将最近一次密码设置时间设为最近日期
-d 0 用户名:设置用户下次登录必须更改密码
-E 日期 用户名:指定账号过期的时间
-M 天数 用户:多少天之后必须更改密码
-m:将两次改变密码之间相距的最小天数设为“最小天数”
-I:过期INACTIVE天数后,设定密码为失效状态
-R:chroot到的目录
-W:将过期警告天数设为“警告天数”
3、实例
- chagge -l zhangsan:用户zhangsan的密码有效期
- chage -d 2021-05-12 shangsan:将用户zhangsan密码设置时间为2021-05-12
chage -l zhangsan
- chage -d 0 zhangsan
chage -l zhangsan
- chage -E 2021-05-14 zhangsan:用户zhangsan账号明天过期
- chage -M 2 zhangsan 用户zhangsan两天之后必须改密码
三、命令历史限制-history命令
- 减少记录的命令条数
- 注销时自动清空命令历史
- 闲置600秒后自动注销
1、概念
history:查看历史打入的命令,从登陆账号开始,记录在内存缓存中
!id号:调用出对应id号的命令,命令中间没有空格
2、清除历史命令
history -c:清除历史命令
以下具体说明下history登录登出的含义
- root登录系统,history把命令记录在缓存中
- 执行logout登出之后,产生隐藏文件.bash_history
- 把history所有命令写入.bash_history,以便于下一次的查看 (看下图红色箭头)
- 若删除.bash_history隐藏文件,因为history存的命令在缓存内,所有仍可以查看所有写出的命令
那么彻底删除所有命令: - 先删除隐藏文件.bash_history
- 再history -c:清除命令
- 登出系统之后就只剩logou命令写入.bash_history内,那么这时再登录系统查看history就只有两条命令:logout、history’
需要注意的是:
新建的用户是没有.bash_history隐藏文件的,一旦登出会把history记录在.bash_history,系统才会存在此隐藏文件
需要ls -a 查看到隐藏文件
3、配置文件
- .bash:个性化的配置
- 配置文件,:vim /etc/profile(对全局配置):查看缓存多少条的bash
- 默认:1000条
- 没有修改默认配置条数时,系统增加缓存时,会把1替换成1001个打开的缓存
若更改默认配置条数,使用source立马生效
source /etc/profile:立即生效里面的配置;否则需要重启生效
那么问题来了,若是每次执行logout登出时系统产生虚拟文件.bash_history,都需要手动删除,若是忘记了呢?就没有办法可以自动删除嘛?
当然有!想要自动登出就清除命名,就需要在配置文件.bash_logout设置
.bash_logout:每当我用户登出的时候就执行命令
步骤
- vim /etc/.bash_logout
- rm -rf .bash_history
history -c - logout:登出系统
此时系统再次查询history只有两条logout、history
4、显示执行命令的时间
4.1、编辑 .bash_profile文件
- vim .bash_profile
- 最后一行加入
export HISTTIMEFORMAT=’%F?%T’
4.2、编辑配置文件
- vim /etc/profile
- 最后一行加入:export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
要注意的是 S与最后的引号 要有空格
5、注销时间
- vim ~/.bash_profile
- 增加一行:export TMOUT=6(单位是s)
6s之后系统自动退出
source .bash_profile 立即生效
若要取消/更改的环境变量
删除增加的行数即可
以上是关于linux-系统安全账号安全基本措施chattrchagehistory的主要内容,如果未能解决你的问题,请参考以下文章