su、sudo命令详解 Linux系统安全及应用(详细)

系统安全以及应用
目录二、使用su命令切换用户 (四)、限制使用su命令的用户 三、使用sudo机制提升权限 四、开关机安全控制 五、系统弱口令检测 五、网络端口扫描—NMAP
一、账号安全基本措施 (一)、系统账号清理
? 要求用户下次登录时修改密码
? chage -d 0 lisi
密码有效期设置为0,意思就是下次登录就要重新设置密码才可以登录
? vi /etc/login.defs 给即将创建的新用户设置密码有效期
(三)、命令历史限制
减少记录的命令条数
vim /etc/
=200 这个比较简单,保留最后200条历史命令
注销时自动清空命令历史
vim /etc/
rm -rf /root/. 每次开机执行删除这个文件的命令,这样历史的命令就会自动清空
注:想要配置直接生效:. /etc/ 或/etc/
(四)终端自动注销
闲置600秒后自动注销
vi ~/.
TMOUT=600
二、使用su命令切换用户 (一)、用途及用法
用途: User,切换用户
格式:su 目标用户
密码验证:
root su任意用户,不验证密码
普通用户su其他用户,验证目标用户的密码
(二)、su命令的安全隐患
默认情况下,任何用户都允许使用su命令,这样就有机会反复尝试其他用户(如root)的登录密码,带来安全风险
为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
(三)PAM可插拔式认证模块 1、介绍
是一种高效而且灵活便利的用户级别的认证方式
也是当前Linux服务器普遍使用的认证方式
2、PAM认证原理
1.PAM 认证一般遵循的顺序:(服务)–> PAM(配置文件)–> pam_*.so;
2.PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证模块(位于 /lib64//下)进行安全认证 。
3.用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证 。不同的应用程序所对应的PAM 模块也是不同的 。
如果想查看某个程序是否支持 PAM 认证,可以用 ls 命令进行查看/etc/pam.d/ 。
PAM的配置文件中的每一行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用
3、PAM认证的构成(了解)
第一列代表PAM认证模块类型
auth:对用户身份进行识别,如提示输入密码,判断是否为root 。
:对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等 。
:使用用户信息来更新数据,如修改用户密码 。
:定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和关
第二列代表PAM控制标记
:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败 。
:与类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败 。
:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值 。
:不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于类型) 。
:表示在验证过程中调用其他的PAM配置文件 。比如很多应用通过完整调用/etc/pam.d/-auth(主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项 。
第三列代表PAM模块,默认是在/lib64//目录下,如果不在此默认路径下,要填写绝对路径 。
同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数 。