发帖
 找回密码
 立即注册
搜索
0 0

分享 21430 - 04. Linux 权限 & 系统管理 & 安全加固

技术分享 1122 0 2025-3-18 19:31:32
本帖最后由 sczsh 于 2025-3-18 19:34 编辑

一、课程内容概要
1、Linux 权限管理

2、Linux 系统管理
  • Linux 进程管理
  • crontab 定时任务
  • Linux 系统日志

3、安全加固
  • 口令锁定策略
  • 设置密码复杂度
  • 设置密码有效期
  • 删除无关账户
  • 禁止存在空密码的帐号
  • 禁止 wheel 组以外的用户使用 su root
  • 限制 root 用户 ssh 远程登录
  • 一键安全加固脚本使用

二、重点知识与细节
1、Linux 权限管理

  • 第 0 位表示文件类型。

    • d:目录
    • -:文件
    • l:链接文档(link file)
    • b:装置文件里面的可供储存的接口设备(可随机存取装置)
    • c:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

  • 第 1~3 位确定属主(该文件的所有者)的权限。
  • 第 4~6 位确定属组(所有者的同组用户)的权限。
  • 第 7~9 位确定其他用户的权限。

2、Linux 进程管理
  • ps:查看进程。

    • ps -l:将目前属于你这次登入的 PID 与相关信息展示出来
    • ps -le:查看进程详细信息

      • F:进程标志

        • 1:进程可以被复制,但是不能被执行
        • 4:进程使用超级用户权限

      • S:进程状态

        • UID:运行这个进程的用户 ID
        • PID:进程的 ID
        • PPID:父进程 ID
        • CPU:这个进程 CPU 的使用率
        • PRI:进程优先级
        • NI:进程优先级
        • ADDR:进程在内存中在什么位置
        • SZ:占用多大内存
        • WCHAN:是否在运行
        • TTY:这个进程由哪个终端产生
        • TIME:占用 CPU 的运算时间
        • CMD:产生此进程的命令名

    • ps aux:列举所有正在内存当中的程序

      • USER:该 process 属于那个使用者账号的
      • PID :该 process 的号码
      • %CPU:该 process 使用掉的 CPU 资源百分比
      • %MEM:该 process 所占用的物理内存百分比
      • VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
      • RSS :该 process 占用的固定的内存量 (Kbytes)
      • TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
      • STAT:该程序目前的状态,常见状态:

        • -D:不可被唤醒的睡眠状态,通常用于 I/O 情况。
        • -R:该进程正在运行。
        • -S:该进程处于睡眠状态,可被唤醒。
        • -T:停止状态,可能是在后台暂停或进程处于除错状态。
        • -W:内存交互状态(从 2.6 内核开始无效)。
        • -X:死掉的进程(应该不会出现)。
        • -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。
        • -<:高优先级(以下状态在 BSD 格式中出现)。
        • -N:低优先级。
        • -L:被锁入内存。
        • -s:包含子进程。
        • -l:多线程。
        • -+:位于后台。

      • R :该程序目前正在运作,或者是可被运作
      • S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
      • T :该程序目前正在侦测或者是停止了
      • Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
      • START:该 process 被触发启动的时间
      • TIME :该 process 实际使用 CPU 运作的时间
      • COMMAND:该程序的实际指令

    • 查找指定进程

      • ps -ef | grep 进程关键字
      • ps -u 用户名

  • kill:终止进程。

    • -9:强制结束进程

      • kill -9 PID号
      • kill -9 $(ps -ef | grep 用户名)
      • kill -u 用户名

    • -15:正常结束进程

3、Linux 定时任务
crontab 命令常用选项:
  • crontab -u user:用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo 用户的 crontab 服务,此选项一般由 root 用户来运行。
  • crontab -e:编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
  • crontab -l:显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。
  • crontab -r:从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
  • crontab -i:在删除用户的 crontab 文件时,给确认提示。

系统任务调度:系统周期性的要执行的任务,写数据到硬盘,日志清理等等
/etc/crontab:
  1. SHELL=/bin/bash
  2. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  3. MAILTO=root

  4. # For details see man 4 crontabs

  5. # Example of job definition:
  6. # .---------------- minute (0 - 59)
  7. # |  .------------- hour (0 - 23)
  8. # |  |  .---------- day of month (1 - 31)
  9. # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
  10. # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
  11. # |  |  |  |  |
  12. # *  *  *  *  * user-name  command to be executed
复制代码
时间字段特殊符号:
  • *(星号): 代表任何时间,比如说第一个 * 代表一小时中每分钟都要执行。
  • ,(逗号):代表不连续的时间,例如 0 8,12,16 7,8,9 * *。
  • -(中杆):代表连续的时间,例如 0 5 * * 1-6。
  • /(正斜线):代表每隔多久执行一次,例如 * /5 * * *。  

用户任务调度:用户定期要执行的工作,用户数据备份,定时邮箱提醒
/var/spool/cron
4、Linux 系统日志
  • /var/log/cron:记录与系统定时任务相关的曰志
  • /var/log/cups/:记录打印信息的曰志
  • /var/log/dmesg:记录了系统在开机时内核自检的信总。也可以使用dmesg命令直接查看内核自检信息
  • /var/log/btmp:记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。
  • /var/log/lasllog:记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
  • /var/Iog/mailog:记录邮件信息的曰志
  • /var/log/messages:核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。
  • /var/log/secure:记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
  • /var/log/wtmp:永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
  • /var/tun/ulmp:记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看

5、安全加固
  • 口令锁定策略
    vim /etc/pam.d/system-auth
    文件内容添加:
    auth        required      pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600
  • 设置密码复杂度
    vim /etc/security/pwquality.confminlen=8    #口令长度至少包含 8 个字符
    dcredit=-1  #口令包含N个数字
    ucredit=-1  #口令包含N大写字母
    ocredit=-1  #口令包含N个特殊字符
    lcredit=-1  #口令包含N个小写字母
  • 设置密码有效期
    vim /etc/login.defsPASS_MAX_DAYS   180  #密码的最大有效期
    PASS_MIN_DAYS   0    #是否可修改密码,多少天后可修改
    PASS_MIN_LEN    8    #密码最小长度,pam_pwquality设置优先
    PASS_WARN_AGE   15   #密码失效前多少天在用户登录时通知用户修改密码
  • 删除无关账户
    在/etc/passwd 或者 /etc/shadow 文件下查找无关账户
  • 禁止存在空密码的帐号
    查找空密码用户指令:
    awk -F: 'length($2)==0 {print $1}' /etc/shadow
  • 禁止 wheel 组以外的用户使用 su root
    vim /etc/pam.d/su
    修改或添加配置文件的条目:
    auth sufficient pam_rootok.so auth required pam_wheel.so group=wheel

    auth required pam_wheel.so use_uid
  • 限制 root 用户 ssh 远程登录
    vim /etc/ssh/sshd_configPermitRootLogin no
  • 一键安全加固脚本使用

三、作业
1、rwx 分别代表什么权限?
r 代表读(read)权限,w 代表写(write)权限,x 代表执行(execute)权限。
2、权限标识 600、711、422、777 分别代表什么?
600:文件所有者可读可写不可执行,其他用户不可读不可写不可执行。
711:文件所有者可读可写可执行,其他用户不可读不可写可执行。
422:文件所有者可读不可写不可执行,其他用户不可读可写不可执行。
777:所有用户均为可读可写可执行。
3、在 linux 上查看进程有什么作用?
在 linux 上查看进程能够查看系统中正在运行的程序,通过查看运行进程的 CPU、内存等资源占用状况,从而发现存在的故障和异常,以此对系统故障进行快速定位响应,及时调试排除故障。
4、安全加固分为哪些?列出四个
口令锁定策略、删除无关账户、禁止存在空密码的帐号、禁止 wheel 组以外的用户使用 su root、限制 root 用户 ssh 远程登录
5、在 linux 中定时任务的五个 * 分别代表什么?
第一个 * 表示分钟(0 ~ 59)
第二个 * 表示小时(0 ~ 23)
第三个 * 表示日期(1 ~ 31)
第四个 * 表示月份(1 ~ 12)
第五个 * 表示星期几(0 ~ 6)
6、在 linux 中想在 12 月 12 日和 12 月 13 日的 3 点 5 分运行脚本的写法是?
5 3 12-13 12 * root 需要运行的脚本的绝对路径

──── 0人觉得很赞 ────

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回