目录
一、账号安全基本措施
1、系统账号清理
1.1 将用户设置为无法登录
shell——/sbin/nologin却比较特殊,所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。
使用的命令:chsh 修改用户的shell属性
1.2、锁定用户
passwd -l 用户名 锁定用户
passwd -u 用户名 解锁用户
1.3、删除用户
userdel -r 用户名 # 删除用户,加 -r 可以连同用户在/home目录下的家目录一同删除
1.4、锁定配置文件
chattr
-a 让文件或目录仅供附加用途。只能追加
-i 不得任意更动文件或目录。
举例:chattr +i /etc/passwd /etc/shadow #将passwd文件和shadow文件加上 i 属性
2、密码安全控制
2.1 设置密码规则
可以修改 /etc/login.defs 文件里的内容来设置密码规则
vim /etc/login.defs
还可以使用chage命令对已经创建过的用户修改规则
chage
chage [选项] 用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
示例:
chage -d 0 zhangsan #强制张三下一次登录一定修改密码
查看所有用户的信息
3、 命令历史
Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在 的风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在 命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。 Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为 1000 条。通 过修改/etc/profile 文件中的 HISTSIZE 变量值,可以影响系统中的所有用户。例如,可以设 置最多只记录 200 条历史命令。
history -c #可以使用以下命令临时清除历史命令
[root@localhost ~]#vim .bash_logout
#退出后清除
# ~/.bash_logout
echo " " >~/.bash_history
4、用户切换
使用su命令实现用户切换
格式:su 用户名 或者 su - 用户名
二、 sudo
1、sudo特性:
-
sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
-
sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
-
sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
-
sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440
2、sudo设置
sudo设置的配置文件打开方式有两种:
1)vim /etc/sudoers # 使用vim编辑器打开,修改内容后,不能自我检查
2)visudo # 修改后,可以自我检查,有错误会指出哪一行有错误
#用户 登入主机 = (代表用户) 命令
#user host = (runas) command
root ALL=(root) A
user: 运行命令者的身份
host: 通过哪些主机 多个 192.168.91.100 - 110 localhost
(runas):以哪个用户的身份
command: 运行哪些命令
示例:
让用户lisi可以使用挂载命令
三、grub加密
/etc/grub.d目录
定义每个菜单项的所有脚本都存放在/etc/grub.d目录中,这些脚本的名称必须有两位的数字前缀,其目的是构建GRUB 2菜单时定义脚本的执行顺序以及相应菜单项的顺序,比如00_header文件首先被读取。
文件 | 描述 |
---|---|
00_header | 设置grub默认参数 |
10_linux | 系统中存在多个linux版本 |
20_ppc_terminfo | 设置tty控制台 |
30_os_prober | 设置其他分区中的系统(硬盘中有多个操作系统时设置) |
40_custom和41_custom | 用户自定义的配置 |
1、设置GRUB 2加密
由于GRUB 2负责引导linux系统,其作为系统中的第一道屏障的安全性非常重要,对GRUB 2进行加密可以实现安全性。
在默认情况下,GRUB 2对所有可以在物理上进入控制台的人都是可访问的。任何人都可以选择并编辑任意菜单项,并且可以直接访问GRUB命令行。要启用认真支持,必须将环境变量超级用户设置为一组用户名(可以使用空格、逗号、分号作为分隔符)这样就只允许超级用户使用GRUB命令行、编辑菜单项以及执行任意菜单项。
GRUB 2密码支持以下两种格式
-
明文密码:密码数据没有经过加密,安全性差
-
PBKDF2加密密码:密码经过PBKDF2哈希算法进行加密,在文件中存储的是加密后的密码数据,安全性较高。
1、 #grub2-mkpasswd-pbkdf2 #根据提示设置GRUB菜单的密码
2、 然后在/etc/grub.d/00_header文件中添加超级用户和PBKDF2加密口令
3、 # vim /etc/grub.d/00_header
4、 最后使用grub2-mkconfig命令生成grubv
5、重启