目录
账户安全措施
账户管理
账户锁定:passwd -l 或 usermod -L
账户解锁:passwd -u 或 usermod -U
账户删除:userdel -r(加-r 并删除家目录)
锁定配置文件 chattr
-a 让文件或目录仅供附加用途。只能追加
-i 不得任意更动文件或目录。
锁定的用户不能被删除
用lsattr + 文件名 可以查看文件是否有特殊权限
清除历史记录
再用history -c 清除缓存
su 用户切换
su,(switch user)用于切换用户身份。
格式:su [选项] [用户名]
选项:
- -: 在切换用户身份时,同时切换当前工作目录和环境变量。(完全切换)
- -c:在切换用户身份后,执行指定的命令,格式为 su -c “command” [用户名]。
- -l 或 --login:以登录的方式切换用户身份,等效于 -。
要切换到的目标用户的用户名。如果未指定用户名,默认切换到 root 用户。
su加- 完全的切换,相当于重新登录。
su 不加- 是不完全的切换,上一个用户的部分设置会保留。
#su root \\切换到root用户
#whoami \\显示当前登录用户
sudo
sudo命令使用户以超级用户的身份去执行命令
/etc/sudoers 配置文件
/etc/sudoers 配置文件是用于管理 sudo 命令的访问权限的文件。
在 /etc/sudoers 文件中,可以定义哪些用户或用户组可以使用 sudo 命令以及可以执行哪些特定的命令。
注意:对 /etc/sudoers 文件的修改需要使用 visudo 命令来进行,以确保文件的正确性和防止破坏。即: vim/etc/sudoers = visudo 修改sudoers时 用visudo命令比较保险
user字段 host字段 代表用户字段 **命令字段(绝对路径)**
用户名或UID IP地址或主机名 用户名或UID command name (命令)
%组名或者%GID ALL代表任意主机 ALL代表任意用户 directory (文件夹里的命令)
sudoedit (可以编辑sudoers这个文件,变相变成管理员)
Cmnd_Alias (命令别名)
例举给特定用户添加特定权限:
sudoers.d 的子文件
将所有提权都放在配置文件/etc/sudoers中,不便于管理。
通过在/etc/sudoers.d/下创建配置文件,可以更好地管理sudo的授权规则。
例如:vim /etc/sudoers.d/test 在test 配置相关环境 和在/etc/sudoers里面配置效果一样
PAM安全认证
应用程序调用: 当用户尝试登录或进行身份验证时,应用程序会调用 PAM 库提供的函数。
PAM 配置文件: 在系统中,有一个或多个 PAM 配置文件,通常位于 /etc/pam.d/ (/etc/security)目录下,每个文件对应一个应用程序或服务。这些配置文件定义了在不同情况下使用哪些 PAM 模块,以及模块的顺序和参数。
PAM 模块: PAM 模块是执行实际身份验证和访问控制的代码单元。每个 PAM 模块实现特定的认证或授权机制,比如密码认证、令牌验证、生物识别等。系统管理员可以选择合适的模块来构建自定义的认证策略。
模块链: PAM 配置文件中的模块被组织成一个链,每个链表示一系列认证步骤。应用程序调用 PAM 时,PAM 将按照链的顺序执行各个模块。
认证过程: 当应用程序调用 PAM 进行身份验证时,PAM 开始按照链的顺序调用每个模块。每个模块都会返回认证结果,成功或失败。如果所有模块都返回成功,认证通过。如果任何一个模块返回失败,认证失败。
认证状态: PAM 模块之间可以共享认证状态信息,比如用户名、密码、认证结果等。这使得不同模块可以根据前面的认证结果来进行更高级别的授权判断。
认证返回: 一旦所有模块都完成,PAM 将返回最终的认证结果给应用程序。应用程序可以根据这个结果决定是否允许用户访问。
PAM配置文件
配置文件:/ etc / security / (只有功能强大的pam模块才会有这个配置文件)
配置文件:/etc/pam.d/ (优先生效
模块类型:
模块类型 | 功能 |
---|---|
Auth | 账号的认证和授权 |
Account | 帐户的有效性,与账号管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例如:root用户只能从控制台登录) |
Password | 用户修改密码时密码复杂度检查机制等功能 |
Session | 用户会话期间的控制,如:最多打开的文件数,最多的进程数等 |
-type | 表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用 |
控制位:
1)required 验证失败时仍然继续,但返回 Fail
2)requisite 验证失败则立即结束整个验证过程,返回 Fail
3)sufficient 验证成功则立即返回,不再继续,否则忽略结果并继续
4)optional 不用于验证,只是显示信息(通常用于 session 类型)
PAM模块:
模块 | 功能 |
---|---|
认证管理 | 接受用户名和密码,进而对该用户的密码进行认证 |
帐户管理 | 检查帐户是否被允许登录系统 |
密码管理 | 主要是用来修改用户的密码 |
会话管理 | 主要是提供对会话的管理和记账 |
limit 模块
功能:在用户级别实现对其可使用的资源的限制
ulimit命令:
ulimit [选项]
ulimit -a 显示当前所有资源的限制
ulimit -c 设置core文件的最大大小,单位为blocks
ulimit -n 设置可以打开的最大文件描述符数
ulimit -u 设置用户可创建的最大进程数
ulimit -m 设置单个进程的物理内存限制,单位为KB
ulimit -v 设置单个进程的虚拟内存限制,单位为KB
ulimit -s 设置单个栈的最大大小,单位为blocks
ulimit -f 设置单个文件的最大大小,单位为blocks
nmap 扫描
#yum install nmap -y ; 安装nmap
nmap [选项] [扫描方式]
.
-p:指定扫描的端口。
-n:禁用反向DNS解析(以加快扫描速度) ip转换成 域名 12222 2www.baidu.com
服务和端口号
服务 | 端口号 |
---|---|
HTTP | 80 |
HTTPS | 443 |
Telnet | 23 |
FTP | 21 |
SSH(安全登录)、SCP(文件传输)、端口重定向 | 22 |
SMTP | 25 |
POP3 | 110 |
WebLogic | 7001 |
TOMCAT | 8080 |
WIN2003远程登录 | 3389 |
Oracle数据库 | 1521 |
MS SQL* SEVER数据库sever | 1433 |
MySQL 数据库sever | 3306 |