系统安全及应用
将非登录用户的shell设为/sbin/nologin
锁定长期不适用的账号 (passwd -l /usermod-L)
锁定账号文件 passwd,shadow
chattr
chattr +i aa #给aa文件一个不可删除状态
cahtte -i aa #将aa文件的不可删除状态撤销掉

#给了aa的i权限 无法删除

#把aa的i权限去掉,成功删除它
lsattr (查看状态)

chage
格式
chage [选项] 用户名
命令
-m #密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M #密码保持有效的最大天数。
-w #用户密码到期前,提前收到警告信息的天数。
-E #帐号到期的日期。过了这天,此帐号将不可用。
-d #上一次更改的日期。
-i #停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l #例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
例如
chage -M 30 lisi # (将用户lisi的密码有效期设置为30天)
chage -d 0 lisi #lisi用户下回登陆时必须修改密码
history 命令历史
减少history的条数
history -c (临时清理)

#使用history ,会显示很多历史命令

#使用-c 临时清理
永久清理命令
vim .bash_logout #编辑 (退出)
echo " " > ~/.bash_history #覆盖/bash_history
vim .bashrc # 登录

#编辑 bash_logout

#exit 退出,再用histroy 只显示一些历史命令
vim /etc/profile
. /etc/profile #刷新
source /etcprofile #刷新
echo $HISTSIZE #查看输出记录数

#编辑/etc/profile 修改输出记录

#输出记录改为100 保存退出

#刷新以下

#查看输出记录数
su 切换用户
任何一个用户登录都需要加载bash 这个程序
bash 作用:补全 ,记录命令等
export 愿意传给子进程
su 不加- 不完全切换 子进程会接受父进程的一些配置
PAM模块
插件式的模块
最常见的功能:验证用户名密码
开发出一款 软件如果要用到 用户名和密码的功能时,就会调用 pam 架构中的 密码模块 不需要二次开发
模块文件目录:/lib64/security/*|.so
特定模块相关的设置文件:etc/security/
etc/pam.d (专用配置文件)
type 类型 contrl控制 模块名称() 可选项(补充描述)
Auth 账户的认证和授权 (加 - 忽略此选项)
Account 帐户的有效性,与账号管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例如:root用户只能从控制台登录)
Password 用户修改密码时密码复杂度检查机制等功能
Session 用户会话期间的控制,如:最多打开的文件数,最多的进程数等
-type 表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用
vim/etc/pam.d/su


required :一票否决,表示本模块必须返回成功才能通过认证,但是如果该模块返回失败,失败结果也不会立即通知用户,而是要等到同一type中的所有模块全部执行完毕,再将失败结果返回给应用程序,即为必要条件
requisite :一票否决,该模块必须返回成功才能通过认证,但是一旦该模块返回失败,将不再执行同一type内的任何模块,而是直接将控制权返回给应用程序。是一个必要条件
sufficient :一票通过,表明本模块返回成功则通过身份认证的要求,不必再执行同一type内的其它模块,但如果本模块返回失败可忽略,即为充分条件,优先于前面的
equired和requisiteoptional :表明本模块是可选的,它的成功与否不会对身份认证起关键作用,其返回值一般被忽略include: 调用其他的配置文件中定义的配置
optional 可选项
实验

#查看shell路径,创建个lisi用户shell路径位/bin/csh

#查看/etc/passwd 下的最后一行,显示lisi用户,shell类型是/bin/csh

#给lisi用户设置个密码

#编辑

#复制下面auth这一行 粘贴到上一行

#将sufficient(一票通过)改成required(一票否决),将rootok改成shells。保存退出

#编辑shells

#将这个删掉

#切换lisi用户

#root用户切换lisi用户竟然要密码了

#鉴定故障
limit
ulimit -a

#查看内核调优

#临时性 调整 2000
ab 压测工具
安全加固
内核调优 :打开文件数量,打开路由转发功能
限制单个程序使用 服务器的硬件资源
系统调优
1、关闭不必要的开机自启程序
2、价格国外yum源改为清华,阿里等国内源
3、时间同步
4、内核调优
5、日志分割
命令
-H #设置硬件资源限制.
-S #设置软件资源限制.
-a #显示当前所有的资源限制.
-c #size:设置core文件的最大值.单位:blocks
-d #size:设置数据段的最大值.单位:kbytes
-f #size:设置创建文件的最大值.单位:blocks
-l #size:设置在内存中锁定进程的最大值.单位:kbytes
-m #size:设置可以使用的常驻内存的最大值.单位:kbytes
-n #size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p #size:设置管道缓冲区的最大值.单位:kbytes
-s #size:设置堆栈的最大值.单位:kbytes
-t #size:设置CPU使用时间的最大上限.单位:seconds
-u #size:最大用户进程数
-v #size:设置虚拟内存的最大值.单位:kbytes
unlimited #是一个特殊值,用于表示不限制
实验 系统调优


#用yum 安装nginx 和httpd。并开启nginx

#开两个虚拟机

#传不过去

#将数出量 改为2000

#输出成功

#切换到test26的虚拟机中

#打开nginx

#编辑

# * 代表所有用户 soft 软限制 core 硬限制 类型(最大登录输出)
limits生产中的建议
* soft core unlimited
* hard core unlimited
* soft nproc 1000000
* hard nproc 1000000
* soft nofile 1000000
* hard nofile 1000000
* soft memlock 32000
* hard memlock 32000
* soft msgqueue 8192000
* hard msgqueue 8192000

#将这个生产建议输入到这个文本编辑器里,保存退出

#重启

#查看输出量。已更改
sudo
(授权命令)

sudo特性:
-
sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
-
sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
-
sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
-
sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440
vim /etc/sudoers
visudo -c #(有语法检测功能)
visudo #推荐使用

#用户lisi 授权挂载

#解析查看先

#去另一个服务器 授权

#无法解挂

#去另个服务端 将命令路径改成* /usr/bin/* 代表这个路径下所有的文件都可以

#解析下

#可以解挂

浙公网安备 33010602011771号