一.账号安全

将非登录用户的shell设为/sbin/nologin
系统中用户有三种:超级管理员 普通用户 程序用户
前两种用户可以登录系统,程序用户不给登录 所以称为非登录用户
命令格式: usermod -s /sbin/nologin(改已有用户)
锁定长期不使用的账号
passwd -l 用户 或者 usrmod -L 用户
解锁:passwd -u 用户 或者usrmod -U 用户
删除无用的账号
userdel 用户
锁定账号文件 passwd shadow
passwd 存账户信息 shadow存账户密码
锁定这两个文件安全
命令格式:chattr +i 文件
lsattr 查看特殊权限
操作如下
没设置chattr之前,vim a 文件时是可以进去编辑的


当编辑a文件时 wq要保存时,显示保存不了

然后再进入vim a 文件中 文件内容不变
解锁文件 :chattr - i
操作如下:

解锁完可以编辑文件内容
密码安全控制
设置密码规则、修改密码配置文件
对新建用户密码规则:

对于已有用户修改密码规则
命令:chage 参数 用户名
修改密码的有效期 chage - M 数字 用户


如果不知道参数 可以chage 用户名 直接回车 会自动回显

chage - d 0 用户名 用户在下次登录时必须修改密码


命令历史的限制
默认的历史命令为1000条

如果要临时删除时 命令格式:history -c 之前的命令就看不见了

永久清除历史命令
历史命令都存储在bash.history中 如果要清除 就要把里面的命令清空

有三种方式
1.退出后清除 ~/.bash_logout
2.开机后清除 ~/.bashrc (对自己有效、对当前用户生效)
3.对所有用户有效,不仅仅是root下的用户 /etc/profile

操作如下:

表明将history都写成空格
终端自助注销 设置闲置多少秒之后 会登出系统
设置所有用户闲置10秒自动退出 进入/etc/profile中


使用su命令切换用户
su 不加— 代表不完整的切换 意思就是下一个用户会继承上一用户的所有东西 什么都没变
su 加— 代表完整切换 意思就是说下一个用户不会继承上一用户的东西,两者不一样

两者变量一模一样
当 su - 时

root与张三的变量改变
密码验证
root 切换到普通用户不需要验证密码
普通用户互相切换 验证需要密码

linux中的PAM认证
pam模块类似于一个插件,别人吧功能写好,放这。如果需要用 则把模块调过来即可。
查看pam 详细信息

查看pam的目录

点so结尾 代表功能模块

当用户来访问某一程序,如果这一程序启用了pam模块,它会先去读取配置文件,然后按照配置文件调用模块进行操作 !!!
进入到配置文件中:

tcp中 auth:账号的认证与授权 看此账号是否存在
accout :看此账号的有效性(限制或允许用户对某个服务的访问时间 在什么时间段可以访问或拒绝访问)
passwd :看密码对不对跟复杂性
session:用户会话期间的控制,可在以使用多少资源
control中

shell模块


进入到shell的组 把/bin/sch删除


当/bin/sch被删除时,就不在shell列表里,就不能通过

总结:当设置shell模块(pam_shells.so)时,只有shell类型里面的内容才可以通过,不在shell类型(/etc/shell)里面的 通过不了





















