linux 系统管理11 ——系统安全及应用
一、基本安全措施
1、系统账号清理
(1)、将非登陆用户的shell设为/sbin/nologin
方法一、usermod -s
方法二、chsh命令,交互式修改
方法三、chsh -s
usermod(修改用户) userdel(删除用户) useradd(创建用户)
可用命令 tail -10 /etc/passwd
2、锁定长期不使用的账号
方法一;passwd -l (将在密文前增加2个“!”) 解锁 passwd -u 查看passwd -s
方法二、usermod -L{将在密文前增加一个“!")解锁usermod -U
若用passwd -l +用户 锁定用usermod -u 解锁必须输入2次命令usermod -U
3、删除无用的账号 userdel{r}
4、锁定账号文件
/etc/passwd /etc/shadow
1>锁定;chattr +/etc/passwd +/etc/shadow
2>解锁;chattr -i /etc/passwd -i /etc/shadow
3>查看;lsattr /etc/passwd /etc/shadow
例;
2、密码安全控制
(1)设置密码有效期
1>修改某个已存在用户的密码有效期
chage -M 天数 用户名
passwd -x 天数 用户名
2>设置今后添加用户时的默认密码有效期
方法一;VI编辑/etc/login.defs文件,修改“pass_MAX_DAN"后面的数值
咧;
vi /etc/login.defs
将99999天改为60天 然后用 useradd wang(创建一个用户) grep wang /etc/shadow (过滤查看)
(2)要求用户下次登陆时修改密码
1>方法:chage -d o 用户名
3、命令历史限制
(1)减少历史的命令条数
1>方法一;vi编辑/ect/profile文件,修改”HISTSIZE="后面的数值
2>方法二;export HISTSIZE=数值
如;方法一;vi 编辑/etc/profile文件,修改“HISTSIZE=100"
把1000改为100
source /etc/profile 使/etc/profile配置文件生效,此时全局生效
方法二;export HISTSIZE=100 仅当前用户环境生效
export 全局生效 /etc/profile 全局变量
export HISTSIZE=100
(2)注销时自动清空历史命令
1>方法;vi编辑宿主目录下的”.bash_logout"文件,添加“history-c"
2>示例;设置amber用户注销时自动清空历史命令
vi ~amber/.bash_logout
4、终端自动注销
(1)方法一;VI编辑/etc/profile 文件,添加”TMOUT=数值“
(2)方法二;export TMOUT=数值
(3)示列;闲置600秒后自动注销
方法一;VI编辑/etc/profile文件,添加”TMOUT=600"
vi /etc/profile
方法二;export TMOUT=600
export TMOUT=600 仅当前用户环境生效
二、切换用户
1、作用;切换用户(Substitute User)
2、su[-]目标用户 (有“-”初始化环境变量,无“-”环境变量不改变)
3、查看SU操作记录
安全日志文件;/var/log/secure
tac /var/log/secure|less
三、提升权限 Sudo 命令
1、SU命令的缺点;
在使用SU命令时,不指定用户名以默认切换至root用户,需要输入root密码,但实际生产中root密码是不可以被广泛告知的。如果需要执行root用户才有权限的命令,需要通过sudo命令或wheel组的设置来实现。
2、sudo命令
(1)作用;以其他用户身份(默认root身份)执行授权的命令
(2)用法;
sudo授权命令
默认设置为首次执行时,需输入当前用户的登陆密码,5分钟内再次执行sudo命令时则无需再次输入密码
(3)配置sudo授权
1>方法一;添加单个用户的sudo授权
visudo或者vi /etc/sudoers(效果相同),添加配置内容
格式;用户 主机名列表=命令出现列表,命令前加“!”表示“除了”此命令
2>方法二;批量授权 wheel组
HOST Aliase主机名(下图)
User Aliases用户名
Command Aliases命令别名
根据示列以及实际需求,设置别名。(建议先复制,再粘贴修改)
设置别名后,添加格式;
用户别名 主机别名=命令别名(所有别名均大写)
(4)查看sudo操作记录
第一步;visudo或者vi /etc/sudoers添加“Defaults logfile=/var/log/sudo"
第二步;cat/var/log/sudo
示列;启用Defaults logfile 配置,给xiao用户所有/sbin/以及/usr/sbin/下的命令执行权限,除了关机以及重启。
visudo
sudo userdel -r xiao5 grep xiao5 /etc/passwd sudo init 0
对不起,用户 xiao 无权以 root的身份在www.xiao.com上执行/sbin/init 0.
tac /var/log/sudo
5、查询授权操作 sudo -l 用户xiao 可以在该主机上运行以下命令
(root)/sbin/*,(root) /usr/sbin/*,(root) ! /sbin/reboot, (root) !/sbin/init,(root), (root) !/sbin/poweroff, (root) !/sbin/shutdown