【linux命令(九):系统安全及应用】

文章详细介绍了Linux系统中的账户安全措施,包括账户锁定、解锁和删除,以及使用chattr保护配置文件。此外,还讨论了sudo命令的使用和/etc/sudoers配置文件的管理,以及PAM安全认证机制和limit模块对用户资源的限制。最后,提到了nmap工具用于扫描服务和端口号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

账户安全措施

账户管理

账户锁定: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

在这里插入图片描述

服务和端口号

服务端口号
HTTP80
HTTPS443
Telnet23
FTP21
SSH(安全登录)、SCP(文件传输)、端口重定向22
SMTP25
POP3110
WebLogic7001
TOMCAT8080
WIN2003远程登录3389
Oracle数据库1521
MS SQL* SEVER数据库sever1433
MySQL 数据库sever3306
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值