**说明:** 在账号文件被锁定的情况下,其内容将不允许变更,因此无法添加、删除账号,也不能更改用户的密码、登录shell、宿主目录等属性信息。
[root@localhost ~]# useradd test1
useradd:无法打开 /etc/passwd
##### 登陆密码管理
* 通过`vim /etc/login.defs`可修改密码有效期,时间单位为天,适用于新建的用户
* 通过`chage -M 天数 用户`命令可修改已有用户密码有效期时间
* 通过`chage -d 0 用户`命令强制用户下次登陆时更改账户密码
##### 命令历史、自动注销
* 通过`vim /etc/profile`可修改HISTSIZE的值来调整命令历史记录条数,适用于新登陆用户;export HISTSIZE=200,适用于当前用户
* 通过`vim /etc/profile`可修改TMOUT的值来设置用户超时时间,默认单位为秒,适用于新登陆用户;export TMOUT=600,适用于当前用户
* 通过`vim ~/.bash_logout`打开并添加`history -c`在退出登陆时清空历史命令
#### 用户切换与提权
##### su命令切换用户
* 切换时需要验证目标用户的密码,root切换成任何账号都不需要密码
* 调整/etc/pam.d/su文件中的pam\_wheel后,可以使用gpasswd -a 用户名 wheel命令授权哪些用户可以执行su命令,默认拒绝所有用户,只有添加到wheel组中的用户才可以使用su命令
##### sudo命令提权
* /etc/sudoers文件中授权哪些用户可以使用sudo提权
* 授权格式为 user MACHINE=COMMANDS,user为授权的用户,MACHINE为用户在哪些主机上可以执行,COMMANDS用户可以执行哪些命令
* 授权的用户多时可用集中定义的方式,定义用户的名字为User\_Alias,主机为Host\_ALias,命令为Cmnd\_ALias,命令部分可以使用"\*","!"通配符
* sudo命令会验证当前用户的密码
* sudo -l可以查看哪些用户授权了
#### PAM认证模块
##### PAM认证顺序
先确定服务,然后调用配置文件匹配规则,使用pam\_.so动态库去执行验证
##### PAM认证组成
* 认证类型:
+ auth用户名,密码验证
+ account账号相关设置验证,
+ passwod密码相关设置验证,session会话管理验证
* 控制类型:
+ required验证失败仍继续,但返回fail
+ requisite验证失败则结束验证,返回fail
+ sufficient验证成功则返回,否则忽略验证结果继续验证
+ optional不验证,只显示信息
* PAM模块以及参数
#### 系统安全设定
##### 加密grub2菜单
grub2-setpassword
##### 限制root登陆
vi /etc/securetty # 注释禁止登陆的终端
##### 禁止普通用户登陆
touch /etc/nologin
#### JOHN工具破解密码
##### 软口令破解
wget https://www.openwall.com/john/j/john-1.8.0.tar.xz # 下载工具
tar xvf john-1.8.0.tar.xz # 解压源码
cd john-1.8.0.tar.xz/src/ # 进入源码目录
make clean linux-x86-64 # 编译源码
cd …/run # 进入运行目录 cp /etc/shadow ./shadow.txt # 复制shadow文件
./john shadow.txt # 破解shadow文件密码
##### 加密码字典暴力破解
:>john.pot # 清空已经破解的缓存
./john --wordlist=passwod.lst shadow.txt # 暴力破解
#### NMAP端口扫描
##### 安装nmap
`yum -y install nmap`
##### 端口扫描
nmap 127.0.0.1
参数类型:
* -n禁用反向解析
* -p指定扫描端口,多个用
* -sS发送半开扫描
* -sT发送整TCP链接
* -sF发送链接结束请求包
* -sU扫描UDP服务
* -sP扫描ICMP,检测主机是否存活
* -P0跳过ping检测