注释掉系统不需要的用户和用户组

//不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。

Shell[root@localhost ~]# cp /etc/passwd /var/.bak/etc/ //欲修改,先备份 [root@localhost ~]# vim /etc/passwd //编辑帐号配置文件 //可以被注释掉的用户:adm,lp,sync,shutdown,halt,operator,games,ftp … … [root@localhost ~]# cp /etc/group /var/.bak/etc/[root@localhost ~]# vim /etc/group //备份并编辑组帐号配置文件//可以被注释掉的组帐号:adm, lp, floppy, games, ftp … …

123456 [root@localhost ~]# cp /etc/passwd /var/.bak/etc/ //欲修改,先备份 [root@localhost ~]# vim /etc/passwd //编辑帐号配置文件 //可以被注释掉的用户:adm,lp,sync,shutdown,halt,operator,games,ftp … … [root@localhost ~]# cp /etc/group /var/.bak/etc/[root@localhost ~]# vim /etc/group //备份并编辑组帐号配置文件//可以被注释掉的组帐号:adm, lp, floppy, games, ftp … …



最小的权限+最少的服务=最大的安全

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

Shell[root@localhost ~]# usermod -s /sbin/nologin user00[root@localhost ~]# tail -2 /etc/passwd //查看一下 user00:x:1000:1000:user00:/home/user00:/sbin/nologin likui:x:1001:1001::/home/likui:/bin/bash

123 [root@localhost ~]# usermod -s /sbin/nologin user00[root@localhost ~]# tail -2 /etc/passwd //查看一下 user00:x:1000:1000:user00:/home/user00:/sbin/nologin likui:x:1001:1001::/home/likui:/bin/bash

锁定一段时间内不使用的帐号

Shell[root@localhost ~]# usermod -L user00[root@localhost ~]# tail -3 /etc/shadowtcpdump:!!:16673::::::user00:!$6$9kOvPaa/SJuqojOm$X95/U0BzzcQjmYsXemYrrp725zW.PPZ.NIsV7                                           #密码前添加了一个!表示锁定TiuL4qLbTvPmrKqcrkWEs6aNNVknoeYD5vNSXs1aSpvgSGiv/:16673:0:99999:7:::likui:$6$p1AeYs41$xLsJpo1ZJuRSxmbtzlezRw6U/WCW95oE1v.HTQmDGzGflE IbNTXhY5QyTQI2nRdc9oH/O8Dpbnnx6Z4oW0E2k1:16730:0:99999:7:::

123456 [root@localhost ~]# usermod -L user00[root@localhost ~]# tail -3 /etc/shadowtcpdump:!!:16673::::::user00:!$6$9kOvPaa/SJuqojOm$X95/U0BzzcQjmYsXemYrrp725zW.PPZ.NIsV7                                           #密码前添加了一个!表示锁定TiuL4qLbTvPmrKqcrkWEs6aNNVknoeYD5vNSXs1aSpvgSGiv/:16673:0:99999:7:::likui:$6$p1AeYs41$xLsJpo1ZJuRSxmbtzlezRw6U/WCW95oE1v.HTQmDGzGflE IbNTXhY5QyTQI2nRdc9oH/O8Dpbnnx6Z4oW0E2k1:16730:0:99999:7:::

给帐号、组帐号、帐号口令文件加上不可更改属性(加 锁),从而防止非授权用户获得权限

Shell[root@localhost ~]# chattr +i /etc/passwd[root@localhost ~]# chattr +i /etc/shadow //帐号口令文件 [root@localhost ~]# chattr +i /etc/group[root@localhost ~]# chattr +i /etc/gshadow //组帐号口令文件 [root@localhost ~]# lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow----i----------- /etc/passwd //查看以上文件属性 ----i----------- /etc/shadow----i----------- /etc/group /* 注意:执行以上权限修改之后, ----i----------- /etc/gshadow 就无法添加删除用户了 */[root@localhost ~]# chattr -i /etc/passwd //通过这个命令解锁 //将相关文件解锁后,便可以添加删除用户或修改密码了;操作完成后再锁定

1234567891011 [root@localhost ~]# chattr +i /etc/passwd[root@localhost ~]# chattr +i /etc/shadow //帐号口令文件 [root@localhost ~]# chattr +i /etc/group[root@localhost ~]# chattr +i /etc/gshadow //组帐号口令文件 [root@localhost ~]# lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow----i----------- /etc/passwd //查看以上文件属性 ----i----------- /etc/shadow----i----------- /etc/group /* 注意:执行以上权限修改之后, ----i----------- /etc/gshadow 就无法添加删除用户了 */[root@localhost ~]# chattr -i /etc/passwd //通过这个命令解锁 //将相关文件解锁后,便可以添加删除用户或修改密码了;操作完成后再锁定



帐号口令的安全设置

设置密码有效期与最短长度限制

要求用户下次登录时修改密码

Shell[root@localhost ~]# vim /etc/login.defs                      #对于新建用户生效//修改以下配置 PASS_MAX_DAYS   90 //密码使用最长天数改为90天 PASS_MIN_DAYS   0 //密码最短使用天数 PASS_MIN_LEN    8 //密码最短长度改为8,必要情况下改为14PASS_WARN_AGE   7 //改换口令提醒天数[root@localhost ~]# chage -M 30 likui //修改已存在帐号的密码有效期                                  #对于已存在用户生效[root@localhost ~]# chage -d 0 likui //强制在下次登录时更改密码

12345678 [root@localhost ~]# vim /etc/login.defs                      #对于新建用户生效//修改以下配置 PASS_MAX_DAYS   90 //密码使用最长天数改为90天 PASS_MIN_DAYS   0 //密码最短使用天数 PASS_MIN_LEN    8 //密码最短长度改为8,必要情况下改为14PASS_WARN_AGE   7 //改换口令提醒天数[root@localhost ~]# chage -M 30 likui //修改已存在帐号的密码有效期                                  #对于已存在用户生效[root@localhost ~]# chage -d 0 likui //强制在下次登录时更改密码



命令历史限制

减少记录的命令条数

注销时自动清空历史命令记录

Shell[root@localhost ~]# vim /etc/profile//修改下面环境变量的值 HISTSIZE=50[root@localhost ~]# vim ~/.bash_logout//添加下面两行 history -cclear

1234567 [root@localhost ~]# vim /etc/profile//修改下面环境变量的值 HISTSIZE=50[root@localhost ~]# vim ~/.bash_logout//添加下面两行 history -cclear

终端自动注销

闲置600秒后自动注销

Shell[root@localhost ~]# vim ~/.bash_profile//在行尾添加下面的环境变量 export TMOUT=600

123 [root@localhost ~]# vim ~/.bash_profile//在行尾添加下面的环境变量 export TMOUT=600

限制使用su命令的用户

启用pam_wheel认证模块

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

Shell[root@localhost ~]# vim /etc/pam.d/su//找到下面行,将“#”号删掉 #auth required        pam_wheel.so use_uid[root@localhost ~]# gpasswd -a likui wheel正在将用户“likui”加入到“wheel”组中

12345 [root@localhost ~]# vim /etc/pam.d/su//找到下面行,将“#”号删掉 #auth required        pam_wheel.so use_uid[root@localhost ~]# gpasswd -a likui wheel正在将用户“likui”加入到“wheel”组中



重置root密码

CentOS 7与之前的版本不同,当忘记root密码,并采用GRUB2为启动器时,将无法通过单用户模式重置root密码(单用户模式解锁请查看系统密码恢复相关文章)。下面将介绍如何 重置CentOS 7root密码。

  1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。

Linux账号登录安全_第1张图片

  1. 进入后,找到“linux16”开头的地方,按“end”键到最后, 输入“rd.break”,按“ctrl+x”进入。

Linux账号登录安全_第2张图片

  1. 输入“mount -o remount,rw /sysroot/”命令,重新挂载系 统分区

  2.  再输入“chroot /sysroot/”命令,改变根

  3. 修改“root”密码

Linux账号登录安全_第3张图片

  1. 如果之前系统启用了selinux,必须运行“touch /.autorelabel 命令,否则将无法正常启动系统

  2. 然后按“Ctrl+d”退出

  3. 输入“reboot”命令重启,OK

GRUB2菜单加上防编辑密码 以防止一些恶意者像刚才一样修改root密码的行为

  1. 用“grub2-mkpasswd-pbkdf2”命令生成加密口令

Linux账号登录安全_第4张图片

  1. 复制如下部分“grub.pbkdf2.sha512.10000.D……”

Linux账号登录安全_第5张图片

  1. 编辑“/boot/grub2/grub.cfg

  2. 作如下修改

添加“set superusers=“username””

添加“password_pbkdf2  username  grub.pbkdf2.sha… …”

Linux账号登录安全_第6张图片

  1. 保存,退出,并测试

修复MBR

MBRMaster Boot Record主引导记录):

硬盘的0柱面、0磁头、1扇区称为主引导扇区。其中446Byte bootloader64BytePartition table,剩下的2Bytemagic number

  1. 先进行备份,再破坏

使用dd命令,将sdambr进行备份

再用zero设备生成446字节的“0”写入mbr

重启后发现系统已坏

Linux账号登录安全_第7张图片

  1. 装入系统安装光盘,在光盘引导界面选择“Troubleshooting

Linux账号登录安全_第8张图片

  1. 选择救援模式“Rescue a CentOS system

Linux账号登录安全_第9张图片

  1. 装选择“Contunue”,以rw模式挂载分区

Linux账号登录安全_第10张图片

  1. 进入救援模式

Linux账号登录安全_第11张图片

  1. 使用grub2-install命令重建bootloader,再使用sync写入硬盘, reboot重启系统

2016091800480621.png

  1. 验证,重启后无错误,grub正常运行

修复GRUB

grub配置文件丢失,开机后会直接进入grub界面,显示为grub> 由于GRUB2的配置文件极其复杂,所以一定要作好备份

  1. 先备份再破坏

Linux账号登录安全_第12张图片

  1. 重启系统后,进入“grub>”状态,输入以下命令设置启动参数, 并启动:

Shellgrub>insmod xfsgrub>set root=‘hd0,1’ grub>linux16  /vmlinuz-3.10.0-229.el7.x86_64  root=/dev/mapper/centos-rootgrub>initrd16 /initramfs-3.10.0-229.el7.x86_64.img grub>boot

1234 grub>insmod xfsgrub>set root=‘hd0,1’ grub>linux16  /vmlinuz-3.10.0-229.el7.x86_64  root=/dev/mapper/centos-rootgrub>initrd16 /initramfs-3.10.0-229.el7.x86_64.img grub>boot


Linux账号登录安全_第13张图片

  1. 启运成功后,以“root”身份登录,还原配置

2016091800525048.png

  1. 重启,测试,成功修复