1. 课程内容概要
主要知识点1:linux进程相关
主要知识点2:Linux任务调度
主要知识点3:linux安全加固
2.重点知识与细节(针对本节课的核心内容进行详细记录,包含公式、代码、重要原理等)
查看进程 ps
ps -l 将⽬前属于你这次登⼊的PID与相关信息展示出来
ps -le 查看进程详细信息
ps aux 列举所有正在内存当中的程序
USER:该 process 属于那个使⽤者账号的PID :该 process 的号码
%CPU:该 process 使⽤掉的 CPU 资源百分⽐%MEM:该 process 所占⽤的物理内存百分⽐VSZ :该 process 使⽤掉的虚拟内存量 (Kbytes) RSS :该 process 占⽤的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上⾯运作,若与终端机⽆关,则显示 ?,另外, tty1-tty6 是本机上⾯的登⼊者程序,若为 pts/0 等等的,则表示为由⽹络连接进主机的程序。
STAT:该程序⽬前的状态,主要的状态有R :该程序⽬前正在运作,或者是可被运作
S :该程序⽬前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。T :该程序⽬前正在侦测或者是停⽌了Z :该程序应该已经终⽌,但是其⽗程序却⽆法正常的终⽌他,造成 zombie (疆⼫) 程序的状态START:该 process 被触发启动的时间
TIME :该 process 实际使⽤ CPU 运作的时间COMMAND:该程序的实际指令
STAT 进程状态。常⻅的状态有以下⼏种:
-D:不可被唤醒的睡眠状态,通常⽤于 I/O 情况。
-R:该进程正在运⾏。
-S:该进程处于睡眠状态,可被唤醒。
-T:停⽌状态,可能是在后台暂停或进程处于除错状态。
-W:内存交互状态(从 2.6 内核开始⽆效)。
-X:死掉的进程(应该不会出现)。
-Z:僵⼫进程。进程已经中⽌,但是部分程序还在内存当中。
-<:⾼优先级(以下状态在 BSD 格式中出现)。
-N:低优先级。
-L:被锁⼊内存。
-s:包含⼦进程。
-l:多线程(⼩写 L)。
-+:位于后台。
查找指定进程使用ps命令
ps -ef | grep 进程关键字ps -ef | grep ssh
ps -u ⽤户名
ps -u xiaoming
-9 强制结束进程-15 正常结束进程
kill ⽤于删除执⾏中的程序或⼯作(进程)
kill -9 PID号
kill -9 $(ps -ef | grep ⽤户名) 了解就⾏
kill -u ⽤户名
kill -9 $(ps -ef | grep bash) 这个是不是就直接退出所有⽤户了
系统任务调度:系统周期性的要执⾏的任务,写数据到硬盘,⽇志清理等等
定时任务: /etc/crontab
* * * * * user-name command to be executed
1.表示分钟 0-59
2.表示⼩时 0-23
3.表示⽇期 1-31
4.表示⽉份 1-12
5.表示星期⼏ 0-6
6.要执⾏的命令或者脚本
* 代表任何时间,主要看哪个位置,可以代表每一分钟,每个小时,每天,每月,每个星期
,代表不连续的时间
- 代表连续的时间
/ 代表每隔多久执行一次
定时任务也可以加入到 /var/spool/cron
解锁用户:pam_tally2 -r -u 用户名
用户密码设置为空: passwd -d 用户名
awk -F: 'length($2)==0 {print $1}' /etc/shadow
\ :转义字符 将特殊符号进⾏转义的
Linux相关日志
/var/log/cron 记录与系统定时任务相关的日志
/var/log/cpus/ 记录打印信息的日志
/var/log/dmesg 开机内核日志
/var/log/btmp 记录错误登录的日志 lastb命令查看
/var/log/lasllog 记录系统所有用户最后一次登录时间的日志 lastlog命令查看
/var/log/mailog 记录邮件信息的日志
/var/log/messages 核心系统日志
/var/log/secure 涉及账户和密码的程序都会记录
/var/log/wtmp 永久记录所有用户的登录,注销等信息 last命令查看
/var/tun/ulmp 记录当前已经登录用户的信息 w,who,users等命令查看
Linux 安全加固
1.口令锁定策略
修改方法:例如设置口令最大的出错次数5 次,系统锁定后的解锁时间为 180 秒 在配置文件
sudo vim /etc/pam.d/system-auth
auto required pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600
2、设置密码复杂度
编辑/etc/security/pwquality.conf文件,修改以下内容:
minlen= 8 口令长度至少包含 8 个字符
dcredit= -1 口令包含N个数字
ucredit= -1 口令包含N大写字母
ocredit= -1 口令包含N个特殊字符
lcredit= -1 口令包含N个小写字母
3、设置密码有效期
编辑login.defs
vim/etc/login.defs
login.defs配置项说明
#密码的最大有效期
PASS_MAX_DAYS 180
#是否可修改密码,多少天后可修改
PASS_MIN_DAYS 0
#密码最小长度,pam_pwquality设置优先
PASS_MIN_LEN 8
#密码失效前多少天在用户登录时通知用户修改密码
PASS_WARN_AGE 15
4、删除无关账户
在/etc/passwd或者 /etc/shadow 文件下查找无关账户
5、禁止存在空密码的帐号
安全起见,在/etc/passwd中用户的密码是被保护的状态,即使用了*号来隐藏。而实际的密码内容是加密后保存在/etc/shadow文件中,我们确认是否存在空口令的用户就确认该文件中密码对应字段的长度是否为 0, 如果为 0 则证明该用户密码为空。通过使用命令来查找是否存在该字段长度为 0的用户
awk -F: 'length($2)==0 {print $1}' /etc/shadow //查找空密码用户指令
6、禁止wheel组以外的用户使用 su root
使用PAM 认证模块进行 su 权限控制,禁止 wheel 用户组之外的用户使用 su - root 命令
/etc/pam.d/su
修改或添加配置文件的条目:
authsufficient pam_rootok.so auth required pam_wheel.so group=wheel或authrequired pam_wheel.so use_uid
限制使用su 命令的账户 说明:su 命令用于在不同账户之间切换。为了增强系统安全性,有必要对 su 命令的使用权进行控制,只允许 root 和 wheel群组的账户使用 su 命令,限制其他账户使用。
7、限制root用户ssh远程登录
修改/etc/ssh/sshd_config
PermitRootLoginno
8.可以编写shell脚本,把所有操作写进脚本,只执行脚本进行一键加固
WEB渗透测试工程师系统班20303期 第5节课作业 1、rwx分别代表什么权限? r(read):表示可读权限,允许用户查看文件内容或列出目录中的文件。 w(write):表示可写权限,允许用户修改文件内容或在目录中创建、删除文件。 x(execute):表示可执行权限,允许用户执行该文件(如果是可执行文件)或进入该目录。
2、权限标识600、711、422、777分别代表什么? 600:仅文件所有者可以读取和写入该文件。 711:文件所有者可以完全控制该文件,用户组和其他用户只能执行该文件。 422:文件所有者可以读取文件,而用户组和其他用户可以写入文件但不能读取。 777:所有用户均可读取、写入和执行该文件,权限开放。
3、在linux上查看进程有什么作用? 1、监控系统性能 2、故障排除 3、安全审计 4、管理系统资源 5、进程间通信 6、调试和开发
4、安全加固分为哪些?列出四个 操作系统加固、用户和权限管理、网络安全加固、应用程序安全加固 5、在linux中定时任务的五个 * 分别代表什么? 分别代表:分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)、星期几(0-7)【0和7都代表星期日】 6、在linux中想在 12月12日和 12月 13日的3点5分运行脚本的写法是? 5 3 12,13 12 * /path/to/script.sh
|