一、基本安全措施
系统账号清理
1、 将非登录用户的shell设为/sbin/nologin
方法一:usermod -s
方法二:chsh命令,交互式修改
方法三:chsh -s
示例:有个用户xuexi
方法一:usermod -s /sbin/nologin xuexi
方法二:chsh xuexi
Changing shell for xuexi.
New shell [/bin/bash]: /sbin/nologin
Shell changed.
方法三:chsh -s /sbin/nologin xuexi
除了上述三种方式,也可以直接vi编辑/etc/passwd文件进行修改
2、锁定长期不使用的账号
方法一:passwd -l (将在密文前增加2个“!”)解锁passwd -u 查看passwd -S
方法二:usermod -L(将在密文前增加1个“!”)解锁usermod -U
示例:tail -5 /etc/shadow 看后5行
方法一:passwd -l xuexi 锁定
方法二:usermod -L xuexi 锁定
注意:若用passwd -l命令对某账号进行锁定,若用usermod -U命令解锁,需要进行两次操作才行。
除了上述两种方法,也可以直接vi编辑/etc/shadow文件进行修改。
3、删除无用的账号:userdel -r 用户名
4、锁定账号文件/etc/passwd、/etc/shadow
方法一:i锁(不能追加内容,不能修改)
锁定:chattr +i /etc/passwd /etc/shadow
解锁:chattr -i/etc/passwd /etc/shadow
查看:lsattr /etc/passwd /etc/shadowetc
方法二:a锁(可以追加内容,不能修改)
锁定:chattr +a/etc/passwd
解锁:chattr -a/etc/passwd
注意:锁定后即使是超户,也不能修改该文件,即不能创建、删除、修改用户信息。
只能超户解锁,非超级用户破解不了
密码安全控制
1、设置密码有效期
修改密码有效期:chage -M 天数 用户名
Passwd -x 天数 用户名
2、设置今后添加用户时的默认密码有效期:
方法:vi编辑/etc/login.defs文件,修改“PASS_MAX_DAYS”后面的数值
要求用户下次登录时修改密码:方法:chage -d 0 用户名
命令历史限制
1、减少历史的命令条数
方法一:vi编辑/etc/profile文件,修改“HISTSIZE=”后面的数值
方法二:export HISTSIZE=数值
注:/etc/profile 系统全局变量文件,所有和变量相关的我们都应该放在这里进入vim编辑
全局生效export(让一个变量全局生效)
2、注销时自动清空历史命令
方法:vi编辑宿主目录下的“.bash_logout”文件,添加“history -c”
清空历史记录:history -c
终端自动注销
方法一:vi编辑/etc/profile文件,添加“TMOUT=数值”
方法二:export TMOUT=数值
示例:方法一:vi编辑/etc/profile文件,添加“TMOUT=600”
source /etc/pofile(生效操作)
方法二:export TMOUT=600 闲置600秒后自动注销
二、切换用户 su 命令
1、作用:切换用户
2、格式:su - 目标用户(有“-”初始化环境变量,无“-”环境变量不改变)
3、查看su操作记录,安全日志文件:/var/log/secure
三、提升权限sudo命令
作用:授权普通用户限定使用命令范围的权限
配置sudo授权
方法一:添加单个用户的sudo授权
通过visudo进入配置文件/etc/sudoers,添加内容(用vim进入配置文件是只读模式)
格式:用户 IP地址=主机名 命令(命令前加“!”表示“除了”此命令)
给普通用户单独开权限 xuexi 192.168.10.0/24 = / sbin/fdisk
授权sbin下所有命令,但是不让使reboot命令:
给普通用户:xuexi 192.168.10.0/24 = /sbin/*,! /sbin/reboot
让普通用户自己分区,禁止他任何能破坏系统的操作
xuexi 192.168.10.0/ 24 = /sbin/*,! /sbin/reboot,! /sbin/fdisk /dev/sda*
指定普通用户看日志xuexi 192.168.10.0/ 24= /bin/cat /var/log/messages*,
/usr/bin/head /var/log/messages*,/usr/bin/tail /var/log/messages*,
/usr/bin/nl /var/log/messages*,/usr/bin/less /var/log/messages*,
/bin/more /var/log/messages*,/usr/bin/tac /var/log/messages*
普通用户 xuexi 192.168.10.0/ 24 = /sbin/service sshd reload(允许sshd重启)
不退出不立即生效 ,先写允许,在写拒绝
普通用户输入sudo -l 查看有没有特殊权限(输入普通用户密码)
方法二:批量授权(根据实际需求,设置别名)
设置别名后,添加格式:用户别名 主机别名=命令别名(所有别名均大写)
查看sudo操作记录
方法:第一步:visudo添加“Defaults logfile=/var/log/sudo”
第二步:cat/var/log/sudo
查询授权操作 sudo -l
普通用户输入sudo -l 查看有没有特殊权限(输入普通用户密码)