目录
命令历史限制history
减少记录的命令条数
注销时自动清空历史命令
source /etc/profile或者 ./etc/profile :刷新
vim ~/.bash_history :历史命令记录存储在.bash_history里
echo " " > .bash_history :清空历史命令记录 .bash_history
history -c :临时删除
环境变量的读取:
用户登录-》加载~/.bash_profile --》bash_profile中的配置首先是使 ~/.bashrc生效
用户登出–》.bash_logout 运行logout配置文件
其中的HISTSIZE表示保留1000条历史命令记录
终端自动注销
首先编写/etc/profile,写入export TMOUT=666,表示666秒不进行操作自动注销,wq退出,然后source /.bash_logout 或者 . /etc/profile 刷新
使用sudo机制提升权限
sudo命令的用途及用法
用途:以其他用户身份(如root)执行授权的命令
用法:sudo 授权命令
sudo [参数选项] 命令
-l:列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的;
-v:验证用户的时间戳;如果用户运行sudo后,输入用户的密码后,在短时间内可以不用输入口令来直接进行sudo操作
-v:可以跟踪最新的时间戳;
-u:指定以以某个用户执行特定操作
-k删除时间戳,下一个sudo命令要求用求提供密码
visudo或vi /etc/sudoers (此文件的默认权限为440,保存退出时必须执行:"wq!" 命令来强制操作)
写入格式:
用户 主机名=命令程序表
用户 主机名=(用户)命令程序表
用户:直接授权指定的用户名,或采用”组名”的形式(授权一个组的所有用户)。
主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机
(用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命
命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径多个命令之间以逗号""进行分隔。ALL则代表系统中的所有命令
例如:
zhangsan ALL=/sbin/ifconfig
lisi localhost=/sbin/*,!/sbin/reboot,!/sbin/poweroff #通配符"*"表示所有、取反符号"!"表示排除
wheel ALL=NOPASSWD:ALL
#表示wheel组成员无需验证密码即可使用sudo执行任何命令
Mike ALL=(root)NOPASSWD:/bin/kill,/usr/bin/killall
gpasswd-M lisi wheel##李四加入wheel组
启用sudo操作日志:
启用sudo操作日志
visudo
Defaults logfile="/var/log/sudg"
sudo日志记录以备管理员查看,应在/etc/sudoers文件中增加"Defaults logfile"设置如果已经启用sudo日志,则可以从/var/log/sudo文件中看到用户的sudo操作记录。
注:启用日志:Defaults loqfile=/var/log/sudo
另外一个方法是/var/log/secure日志可查看到sudo操作用户步骤
sudo-l#查看当前用户获得哪些sudo授权
实验:
W用户没有权限创建新用户,切换到root用户,进入visudo,给W用户添加新增用户和群组的权利,然后切换W用户,用sudo命令即可添加新用户
网络端口扫描-NMAP
rpm -qa |grep nmap 查看
nmap yum install -y nmap 安装nmap
nmap命令常用选项
-p:指定扫描的端口。
n:禁用反向DNS解析(以加快扫描速度)
S:TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。
-sT:TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型)用来建立一个TCP连接,如果成功则认为目标端口正在监听服务。否则认为目标端口并未开放。
-sF:TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对sYN数据包进行简单过。而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU:UDP扫描,探测目标主机提供哪此UDP服务,UDP扫描的速度会比较慢。
-sP:ICMP扫描,类似于pina检测,快速判断目标主机是否存活,不做其他扫描。
-P0:跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法 ping通而放弃扫描。
系统账号清理
将非登录用户的Shell设为/sbin/nologin
锁定长期不使用的账号
删除无用的账号
锁定账号文件passwd、shadow
chattr +i /etc/passwd :锁定文件
lsattr /etc/passwd :查看状态
chattr -i /etc/passwd :解锁文件
密码安全控制
设置密码有效期
要求用户下次登录时修改密码
PASS_MAX_DAYS表示密码有效期
修改用户W密码的最大间隔以及强制用户deno下次登录时更改密码
PAM
通过pam 模块来防止暴力破解ssh
vim /etc/pam.d/sshd
写入auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root_root_unlock_time=1200
代表尝试登录失败超过3次的话,普通用户锁定600秒,root用户锁定1200秒