文件类型:
-文件 d目录 l链接文档 b接口设备 c一次性读取装置(串行端口设备 例如:键盘 鼠标)
- rwx rwx rwx
文件类型 所有者(这个文件得用户) 所属组 其他用户
r-读取=4 w-写入=2 x-执行=1 -无权限
chmod-用于更改文件或目录权限
chmod 770 1.txt-更改文件权限为 rwx rwx ---
Linux进程
/etc/passwd
用户名:口令(密码):用户标识号:组标识号:注释行描述:主目录:登录shell
root :x :0 : 0 : root : /root :/bin/bash
/etc/shadow
登录名:加密口令:最后一次修改时间:最小时间间隔(秒):最大时间间隔(秒):警告时间(秒):不活动时间(秒):失效时间(秒):标志
/etc/group
组名:口令:组标识号:组内用户列表(就是这个组里有几个用户)
ps/报告当前系统进程状态
ps -l /将目前属于你这次登入(也就是当前窗口)得PID与相关信息展示出来
ps -le /查看进程详细信息(可以查看父进程)
F 进程标志
1 进程可以被复制,但是不能被执行
4 进程使用超级用户权限
S 进程状态
UID 运行这个进程的用户id
1-PID 进程的id - 不一定是子进程
PPID 父进程id
1-C 这个进程cpu的使用率
PRI 进程优先级
NI 进程优先级
ADDR 进程在内存中在什么位置
1-SZ 占用多大内存
WCHAN 是否在运行(-就是代表在运行)
1-TTY 这个进程由哪个终端产生
1-TIME 占用cpu的运算时间
1-CMD 产生此进程的命令名
ps aux 列举所有正在内存当中的程序
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的物理内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
1-STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 进程启动的时间
TIME :该 process 进程占用 CPU 运作的时间
COMMAND:产生这个进程对应命令名称
STAT 进程状态。常见的状态有以下几种:
1. -D:不可被唤醒的睡眠状态,通常用于 I/O 情况。
2. -R:该进程正在运行。
3. -S:该进程处于睡眠状态,可被唤醒。
4. -T:停止状态,可能是在后台暂停或进程处于除错状态。
5. -W:内存交互状态(从 2.6 内核开始无效)。
6. -X:死掉的进程(应该不会出现)。
7. -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。
8. -<:高优先级(以下状态在 BSD 格式中出现)。
9. -N:低优先级。
10. -L:被锁入内存。
11. -s:包含子进程。
12. -l:多线程(小写 L)。
13. -+:位于后台。
查找指定进程
ps -ef | grep 进程关键字
ps -ef | grep ssh
ps -u ⽤户名-作用使用这个用户创建得所有进程都会被结束掉
ps -u xiaoming
ps -al 当前系统中所有进程详细信息
-9 强制结束进程
-15 正常结束进程
kill ⽤于删除执⾏中的程序或⼯作(进程)
kill -9 PID号
kill -9 $(ps -ef | grep ⽤户名) 了解就⾏
kill -u ⽤户名
kill -9 $(ps -ef | grep bash) 这个是不是就直接退出所有⽤户了
Linux任务调度
linux定时任务
系统任务调度:系统周期性的要执行的任务,写数据到硬盘,日志清理等等
定时任务:/etc/crontab
#(井号在前面)注释信息 给人看的,系统不会去执行注释信息里面的代码、命令
SHELL=/bin/bash 系统要使用哪个shell(终端窗口)
PATH=/sbin:/bin:/usr/sbin:/usr/bin 指定里系统执行命令的路径
MAILTO=root 指定了定时任务执行信息将通过电子邮件发送给root用户(如果MAILTO= 就是不发送信息)
* * * * * user-name command to be executed
1.表示分钟 0-59
2.表示小时 0-23
3.表示日期 1-31
4.表示月份 1-12
5.表示星期几 0-7(0和7都代表星期天)
6.要执行的命令或者脚本(user-name command to be executed)
每一个时间字段,还可以通过特殊符号来进行设置
*(星号): 代表任何时间,比如说第一个*代表一小时中每分钟都要执行
,(逗号):代表不连续的时间, 0 8,12,16 7,8,9 * *
- (中杆):代表连续的时间 0 5 * * 1-6
/ (正斜线):代表每隔多久执行一次 * /5 * * *
用户任务调度:用户定期要执行的工作,用户数据备份,定时邮箱提醒
定时任务: /var/spool/cron
/var/log/cron 记录与系统定时任务相关的曰志
/var/log/cups/ 记录打印信息的曰志
/var/log/dmesg 记录了系统在开机时内核自检的信总。
也可以使用dmesg命令直接查看内核自检信息
/var/log/btmp 记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。命令如下:
[root@localhost log]#lastb
root tty1 Tue Jun 4 22:38 - 22:38 (00:00)
#有人在6月4 日 22:38便用root用户在本地终端 1 登陆错误
/var/log/lasllog 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/Iog/mailog 记录邮件信息的曰志
安全加固
1/vim /etc/pam.d/system-auth(口令锁定策略)
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600
pam_tally2.so: 这是一个 PAM 模块,用于跟踪登录失败的次数。
onerr=fail: 如果在执行该模块时出现任何错误,则认定登录失败。
deny=5: 如果一个用户的登录失败次数达到 5 次,该用户将被锁定。
unlock_time=600: 被锁定的用户将在 600 秒(10 分钟)后自动解锁。
root unlock_time=60: 对于 root 用户,解锁时间设置为 60 秒。
解锁用户:pam_tally2 -r -u 用户名(su root 必须在root用户下使用)
-r/将指定用户登录失败次数重置为零
-u/参数用于指定用户
2/设置密码复杂度
vi /etc/security/pwquality.conf
minlen = 8 口令长度至少包含 8 个字符
dcredit = -1 口令包含N个数字
ucredit = -1 口令包含N大写字母
ocredit = -1 口令包含N个特殊字符
lcredit = -1 口令包含N个小写字母
3/设置密码有效期
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(在root用户下进行) 文件下查找无关账户
正常人为创建账户以1000
5/禁止存在空密码的帐号
用户密码设置为空:passwd -d 用户名(在root用户进行设置dada用户密码为空)
awk -F: 'length($2)==0 {print $1}' /etc/shadow
6/禁止wheel组以外的用户使用 su root
vi /etc/pam.d/su
修改或添加配置文件的条目:
(进入配置文件去掉#号 或 添加这两条命令)
auth sufficient pam_rootok.so auth required pam_wheel.so group=wheel
或
auth required pam_wheel.so use_uid
7/限制root用户ssh远程登录
修改 /etc/ssh/sshd_config
PermitRootLogin no
8/一键安全加固脚本使用
通过shell编程把所有需要设置的地方。全部写成一个shell脚本。然后运行shell脚本即可
\ :转义字符 将特殊符号进行转义的
./Linux\ security.sh(在linux里执行这个文件 这个文件放到主文件夹里得主目录位置)-(这个脚本再给得课件里)
(查看修改权限运行这个文件)-(在root里执行这个文件)
WEB渗透测试工程师系统班20303期 第5节课作业 1、rwx分别代表什么权限? 读写执行 2、权限标识600、711、422、777分别代表什么? 600
- 分解为三个数字,即 6(所有者)、0(所属组)、0(其他用户)。
- 对于所有者:6 = 4 + 2,意味着所有者拥有读(4)和写(2)权限,但没有执行权限。
- 对于所属组和其他用户:数字为 0,这表示所属组和其他用户没有任何权限(既不能读、不能写,也不能执行)。
- 示例场景:这种权限通常用于一些敏感文件,如私钥文件,因为只有文件所有者能够读取和修改它,从而保证了文件的安全性。
711
- 分解为 7(所有者)、1(所属组)、1(其他用户)。
- 对于所有者:7 = 4 + 2 + 1,说明所有者具备读(4)、写(2)和执行(1)的全部权限。
- 对于所属组和其他用户:数字为 1,代表所属组和其他用户仅拥有执行权限,没有读和写的权限。
- 示例场景:可用于一些需要被他人执行,但不希望他人查看或修改内容的脚本文件。
422
- 分解为 4(所有者)、2(所属组)、2(其他用户)。
- 对于所有者:数字为 4,意味着所有者仅有读权限,没有写和执行权限。
- 对于所属组和其他用户:数字为 2,表明所属组和其他用户只有写权限,没有读和执行权限。
- 示例场景:在某些特殊情况下,可能会将文件设置为这种权限,比如一个只读配置文件,允许所属组和其他用户进行修改,但不允许他们读取内容。不过这种场景相对较少。
777
- 分解为 7(所有者)、7(所属组)、7(其他用户)。
- 对于所有者、所属组和其他用户:7 = 4 + 2 + 1,这意味着所有者、所属组和其他用户都拥有读(4)、写(2)和执行(1)的全部权限。
- 示例场景:这种权限设置比较危险,因为它允许任何用户对文件进行任何操作。一般只在测试环境或者对权限要求不高的临时文件中使用。
可以使用 chmod 命令来修改文件或目录的权限,例如将文件 example.txt 的权限设置为 600,
3、在linux上查看进程有什么作用? ps 4、安全加固分为哪些?列出四个 口令锁定策略 设置密码复杂度 设置密码有效期 删除无关账户 5、在linux中定时任务的五个 * 分别代表什么? 1.表示分钟 0-59
2.表示小时 0-23
3.表示日期 1-31
4.表示月份 1-12
5.表示星期几 0-7(0和7都代表星期天) 6、在linux中想在 12月12日和 12月 13日的3点5分运行脚本的写法是?
|