|
WEB渗透测试工程师系统班20303期 第5节课作业 1、rwx分别代表什么权限? 读read 写write 执行execute 2、权限标识600、711、422、777分别代表什么? 600:110000000 -rw------- 711:111001001 -rwx--x--x 422:100010010 -r---w--w- 777:111111111 -rwxrwxrwx 3、在linux上查看进程有什么作用? 查看系统中运行的程序和进程,为判断服务器的健康状态和是否强制中止不需要的进程 4、安全加固分为哪些?列出四个 口令锁定策略,设置密码复杂度,设置密码有效期,删除无关账户 5、在linux中定时任务的五个 * 分别代表什么? 第一个“*”:分钟(minute) 第二个“*”:小时(hour) 第三个“*”:一个月多少天(day) 第四个“*”:一年第几个月(month) 第五个“*”:一周中星期几(week) 6、在linux中想在 12月12日和 12月 13日的3点5分运行脚本的写法是? 5 3 12,13 12 * 学习笔记 课程内容概要 主要知识点1:文件权限 主要知识点2:系统进程 主要知识点3:Linux任务调度 主要知识点1:Linux安全固件 2.重点知识与细节(针对本节课的核心内容进行详细记录,包含公式、代码、重要原理等) 概念1:对任何文件来说,都有该文件对⽂件所有者,⽂件所属分组,其他⽤户对应不同的权限,权限分三种:read(读),write(写),execute(执行)。 概念2:用ps来查看进程,用kill来杀死进程。 ps -l 将⽬前属于你这次登⼊的PID与相关信息展示出来 ps -le 查看进程详细信息 这里尤其注意列出进程的以下标识: UID :即运⾏这个进程的⽤户id PID :进程的id (类似这个进程的身份证) TTY :这个进程由哪个终端产⽣ ps aux 列举所有正在内存当中的程序 这里尤其注意列出进程的以下标识: USER:该 process 属于那个使⽤者账号的 PID :该 process 的号码 %CPU:该 process 使⽤掉的 CPU 资源百分⽐(判断CPU健康状况) kill命令(杀死进程): -9 强制结束进程 -15 正常结束进程(命令失败,错误信息会直接显示在终端) 这边解释父子进程的关系:资源继承子进程是父进程的副本,继承父进程的以下资源: 代码段:子进程执行与父进程相同的代码。 数据段:包括全局变量、堆、栈等。 打开的文件描述符:子进程继承父进程打开的文件。 环境变量:子进程继承父进程的环境变量。 信号处理方式:子进程继承父进程的信号处理设置。 注意:子进程虽然继承父进程的资源,但父子进程的资源是独立的,修改不会相互影响(写时复制机制,Copy-On-Write)。概念3:Linux任务调度 主要分成:系统任务调度和用户任务调度 主要区别对比 | | | | | | | | | | /etc/crontab, /etc/cron.d/ 等 | 用户 crontab 文件(crontab -e) | | 包含用户名字段(username command) | | | | | | | |
这时我们来看crontab文件 cron 的基本概念cron 守护进程:cron 是一个后台运行的守护进程,负责执行预定的任务。 cron 表(crontab):每个用户都有自己的 crontab 文件,用于定义定时任务。系统也有一个全局的 crontab 文件,通常位于 /etc/crontab 或 /etc/cron.d/ 目录下。 之后我们来探讨一下什么是Linux 系统日志? 即记录系统运行过程中各种事件和活动的文件。这些日志文件对于系统管理员来说非常重要,因为它们提供了系统运行状态的详细信息,帮助诊断问题、监控系统性能、审计安全事件等。 在 Linux 系统中,日志文件通常存储在 /var/log/ 目录下。以下是一些常见的日志文件及其用途: /var/log/messages:记录系统的一般消息,包括启动信息、系统错误、内核消息等。 /var/log/syslog:记录系统的各种活动,包括内核、服务和应用程序的日志。 /var/log/auth.log:记录与认证和授权相关的日志,如用户登录、sudo 使用等。 /var/log/kern.log:记录内核相关的日志,包括硬件和驱动程序的消息。 /var/log/boot.log:记录系统启动过程中的日志。 /var/log/dmesg:记录内核环缓冲区中的消息,通常包含硬件检测和初始化信息。 /var/log/maillog 或 /var/log/mail.log:记录邮件服务器的日志。 /var/log/cron:记录 cron 任务的执行情况。 /var/log/httpd/ 或 /var/log/apache2/:记录 Apache Web 服务器的日志。 /var/log/mysql.log 或 /var/log/mysqld.log:记录 MySQL 数据库服务器的日志。 比方说我们刚刚谈到Linux定时任务的日志就保存在/var/log/cron中 概念4:Linux安全固件 以口令锁定策略为例 用于 Linux PAM(Pluggable Authentication Modules,可插拔认证模块)的,具体是用于限制用户登录失败的次数,并在达到失败次数后锁定账户一段时间。 auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600 auth:表示这是一个认证模块的配置,用于处理用户认证(如登录)。 required:表示该模块是必需的。如果该模块失败,整个认证过程会失败,但其他模块仍会执行。 pam_tally2.so:这是 PAM 模块的名称,用于跟踪用户登录失败的次数,并在达到指定次数后锁定账户。 onerr=fail:表示如果模块执行过程中发生错误,认证过程将失败。 deny=5:设置允许的最大失败次数为 5 次。如果用户连续登录失败 5 次,账户将被锁定。 unlock_time=600:设置普通用户账户的锁定时间为 600 秒(10 分钟)。在锁定时间内,用户无法登录。 root_unlock_time=600:设置 root 用户账户的锁定时间为 600 秒(10 分钟)。root 用户也会受到登录失败限制。 这边说的时模块,但在Linux一切接文件下,也只是在某个目录下的文件。 那么类似这种“模块”,Linux中有哪些? 1. 内核模块(Kernel Modules)内核模块是 Linux 内核的扩展,用于动态加载和卸载内核功能。它们允许在不重新编译内核的情况下添加或移除功能。2. PAM 模块(Pluggable Authentication Modules)PAM 模块用于管理用户认证和授权。它们提供了一种灵活的机制来控制用户登录、密码管理、会话管理等。 3. 系统服务模块系统服务模块是指通过 systemd 或其他初始化系统管理的服务单元。 4. 动态链接库模块(Shared Libraries)动态链接库是 Linux 系统中用于共享代码的模块。它们在运行时被加载,供多个程序使用。 5. 文件系统模块文件系统模块用于支持不同的文件系统类型。 6. 网络模块网络模块用于支持网络协议和功能。 7. 安全模块安全模块用于增强系统的安全性。 8. 虚拟化模块虚拟化模块用于支持虚拟化技术。 9. 硬件支持模块硬件支持模块用于管理硬件设备。 我们可以猜测一下动态链接模块中大多为链接,因为要被不同用户和进程使用,那么文件权限大多为777 4.个人总结 本节课最大的收获是:了解进程概念,任务调度,安全加固 需要课后深入学习的内容:命令熟练度,对于中间件的了解 |