进阶学习——Linux系统安全及应用

目录

一、系统安全加固

1.账号安全基本措施

1.1系统账号清理

1.1.1延伸

1.2密码安全控制

1.3命令历史限制

1.4终端自动注销

二、使用su命令切换用户

1.用途及用法

2.密码验证

3.限制使用su命令的用户

4.查看su操作记录

5.sudo(superuse do)——提权

5.1sudo的含义

5.2sudo的特性

3.sudo的用法

 3.1visudo详解

 3.2演示

3.2.1在visudo中添加lisi可挂载命令

3.2.2用户lisi通过使用挂载命令成功挂载

3.2.3设置lisi用户使用该命令不需要使用密码

3.3延伸

 3.3.1取反——哪个命令写在后面 哪个命令生效

3.3.2通配符的引入 

3.3.3修改认证时间

 3.3.4配置日志文件

 3.3.5子目录

3.3.6别名

三、PAM安全认证

1.su命令的安全隐患

2.PAM(Pluggable Authentication Modules)可插拔式认证模块

1.1PAM的相关文件

1.2PAM认证的构成

第一模块——module-type模块类型

第二模块——Control控制类型

第三模块——PAM模块及参数

 1.2.1Shell模块

1.2.2securetty模块 

1.2.3pam_nologin.so 模块

1.3PAM工作原理

1.4limit——控制进程占用资源

1.4.1ulimit命令

1.4.1延伸——压测  ab

1.5开关机安全控制

1.5.1调整BIOS引导设置

1.5.2GRUB限制

1.6暴力破解密码

 1.7NMAP——网络端口扫描

1.7.1NMAP的常用选项和扫描类型

1.7.2NMAP用于发现主机的一些用法

1.7.3NMAP扫描端口的一些方法

1.7.4演示 

 1.7.5服务及其端口号

四、总结

1.账号基本安全措施

2.用户切换域提权

3.开关机安全控制

4.终端控制

5.John the Ripper工具

6.namp命令


 

一、系统安全加固

1.账号安全基本措施

1.1系统账号清理

  • 将非登录用户的Shell设为/sbin/nologin
  • 锁定长期不使用的账号(passwd  -l 锁定用户;passwd  -u 解锁用户)
  • 删除无用的账号(userdel -r  用户名)
  • 锁定账号文件passwd、shadow(chattr)

chattr +i /etc/passwd  /etc/shadow

lsattr  /etc/passwd  /etc/shadow

1.1.1延伸

中病毒怎么处理——cpu、内存使用率过高

解决办法:1.使用ps、top命令查看这个异常程序,通过进程的pid号,通过proc找到文件具体位置,将其删除;

2.自己新建一个和病毒同名的文件,加上chattr  +i 锁定文件(加权限  锁定)

tips:锁定之后再进行解锁的话,可能会掉数据

此时发现删不掉该文件  是因为文件权限被锁定  需要对文件权限进行修改

权限修改是使用chattr  -i  减i权限

1.2密码安全控制

  • 设置密码有效期
  • 要求用户下次登录时修改密码

vim /etc/login.defs      ——适用于新建用户

chage  -M  30  lisi       ——适用于已有用户

如果使用chage  +  用户名  代表使用交互式的修改密码

chage -d 0 用户名      ——表示用户登录时必须进行修改密码

注意:用户新修改的密码与原来的密码太相似也不可以

chage命令可以增强密码安全性

1.3命令历史限制

  • 减少记录的命令条数
  • 注销时自动清空命令历史

vim /etc/profile   ——全局配置

1.4终端自动注销

  • 闲置600秒后自动注销

vim  ~/.bash_profile

将export  后 PATH修改为TMOUT=600   表示闲置600秒后自动注销

也可以在关机前将历史命令清除(进入vim ~/.bash_logout)

history -c命令是历史命令被清空

历史命令是临时性的  退出重启的话  历史命令还会在的

如果想永久性的清除历史命令进入vim ~/.bashrc输入echo " " > ~/.bashrc

“ . ”  表示重新读取配置文件

二、使用su命令切换用户

su——switch user

1.用途及用法

  • 用途:Substitute User 切换用户
  • 格式:su 目标用户

2.密码验证

root→任意用户,不验证Miami

普通用户→其他用户,验证目标用户的密码

su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换

su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换

说明:root su至其他用户无须密码;非root用户切换时需要密码

注意:su 切换新用户后,使用 exit 退回至旧的用户身份,而不要再用 su 切换至旧用户,否则会生成很多的bash子进程,环境可能会混乱。

su 与 su-

即有 - 选项,切换用户身份更彻底;反之,只切换了一部分,这会导致某些命令运行出现问题或错误(例如无法使用 service 命令)。

超级管理员切普通用户不需要密码

普通用户切超级管理员需要输入密码

普通用户和普通用户之间切换也需要密码

3.限制使用su命令的用户

  • 将允许使用su命令的用户加入wheel组中
  • 启用pam_wheel认证模块

pam_rootok.so      root用户不需要密码也可以切换用户;如果将其修改为注释(在这一行前加#表示注释)表示root切换到普通用户也需要修改密码

pam_wheel.so  只有wheel组才可以切换用户 

 启用pam_wheel认证模块

 使用gpasswd -a cxk wheel

在Linux系统中,超级管理员的组是在wheel组中;wheel组高于root组

4.查看su操作记录

  • 安全日志文件:/var/log/secure

5.sudo(superuse do)——提权

5.1sudo的含义

允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性在最早之前,一般用户管理系统的方式是利用su切换为超级用户。但是使用su的缺点之一在于必须要先告知超级用户的密码。

5.2sudo的特性

  • sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
  • sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
  • sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
  • sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440

3.sudo的用法

 

 visudo  =  vim  /etc/sudoers

 visudo自带语法检查   推荐使用

 3.1visudo详解

 root:哪个用户要使用命令   如果lisi用户要使用命令则输入lisi@192.168.91.100;zhangsan@192.168.91.200

ALL:哪台主机  可以写域名  也可以写网段192.168.91.100 ;192.168.91.200

(ALL):以谁的方式运行   (ALL)代表以root用户的身份运行

ALL:所有命令;可以指定某些命令

注意注意:生产环境建议把root一行注释   在root行前加#

 3.2演示

将lisi可以使用的命令指定为可以使用挂载命令,并且将光驱挂载到/mnt文件夹下

3.2.1在visudo中添加lisi可挂载命令

允许lisi用户在任何场景可以使用上述命令 

3.2.2用户lisi通过使用挂载命令成功挂载

3.2.3设置lisi用户使用该命令不需要使用密码

因为visudo命令中设置了5分钟内再次使用命令不需要密码,如果想设置不需要密码直接使用命令,可以执行如下操作:

 

3.3延伸

%代表组  只要在wheel组中可以使用任何命令

 

 3.3.1取反——哪个命令写在后面 哪个命令生效

3.3.2通配符的引入 

问:此时可以执行cat /etc/shadow吗

答:可以执行(通过visudo提权设置中,messages*通配符,其中*表示任意长度字符,从messages结束后第一个空格到shadow结束均用*来表示)

那么如果要限制只使用cat /var/log/messages,而不使用cat /etc/shadow,可以做如下操作

 ! /usr/bin/cat  /var/log/message*  *   表示禁止messages后面的写法,表示命令到messages就结束了    在messages后面任意长度字符   空格也是字符    取反之后就可以只使用cat  /var/log/messages命令了

3.3.3修改认证时间

sudo -V可以查看详细信息 

 3.3.4配置日志文件

进入visudo中配置defaults  logfile="/data/sudo.log"

 可以查看日志文件

 3.3.5子目录

 

子配置文件可以方便管理用户;

延伸:如果有十个项目如何管理

需要写在子配置文件中

主配置可以存放全局配置文件;子配置文件可以存放个性化配置文件 

注意:不可以进入visudo将zhangsan的ALL=修改为sudoedit;如果添加sudoedit则表示zhangsan可以进入visudo进行修改信息。加固安全!

3.3.6别名

要写在visudo中

Host_Alias MYHOST:主机组(可以输入域名)

User_Alias MYSERS:用户组

Cmnd_Alias MYCMND: 命令组

主机组内的主机和用户组内的用户可以使用用户组中的命令,可以方便管理 

 注意:别名格式:必须大写字母,数字可以使用但是不能放在开头

 调用的话  输入如下操作

成功

三、PAM安全认证

1.su命令的安全隐患

  • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
  • 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

2.PAM(Pluggable Authentication Modules)可插拔式认证模块

  • 是一种高效而且灵活便利的用户级别的认证方式
  • 也是当前Liunx服务器普遍使用的认证方式

/usr/lib64/security   文件夹下存放功能模块

/etc/pam.d   文件夹下存放配置文件

/etc/security   文件夹下存放比较复杂的配置文件

1.1PAM的相关文件

  • 包名:pam
  • 模块文件目录:/lib64/security/*.so
  • 特定模块相关的设置文件:/etc/security
  • 应用程序调用PAM模块的配置文件

1.2PAM认证的构成

  • 查看某个程序是否支持PAM认证,可以用ls命令

  •  查看su的PAM配置文件:cat /etc/pam.d/su
  • 每一行都是一个独立的认证过程
  • 每一行可以区分为三个字段:认证类型、控制类型、PAM模块及其参数

第一模块——module-type模块类型
  • Auth 账号的认证和授权
  • Account 帐户的有效性,与账号管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例如:root用户只能从控制台登录)
  • Password 用户修改密码时密码复杂度检查机制等功能
  • Session 用户会话期间的控制,如:最多打开的文件数,最多的进程数等
  • -type 表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用

type模块是验证哪些功能;auth用户身份验证,账号是否存在;Account限制用户的位置,账户有效性,用户是否在有效期内进行登录;passwd输入密码是否正确  密码的复杂性;Session用户会话期间(相当于网络的会话层,管理会话)这个用户账号可以使用多少资源;-type缺失,有的模块没有安装在本地,不影响验证(后面的模块可能没有) 

第二模块——Control控制类型

控制类型也称做Control Flags,用于PAM验证类型的返回结果

  • required :一票否决,表示本模块必须返回成功才能通过认证,但是如果该模块返回失败,失败结果也不会立即通知用户,而是要等到同一type中的所有模块全部执行完毕,再将失败结果返回给应用程序,即为必要条件。(如果失败,最后一定失败,但是会继续进行验证
  • requisite :一票否决,该模块必须返回成功才能通过认证,但是一旦该模块返回失败,将不再执行同一type内的任何模块,而是直接将控制权返回给应用程序。是一个必要条件(如果失败会立即结束验证
  • sufficient :表明本模块返回成功则通过身份认证的要求,不必再执行同一type内的其它模块,但如果本模块返回失败可忽略,即为充分条件,优先于前面的(验证成功则立即返回,不再继续,否则忽略结果并继续
  • equired和requisiteoptional :表明本模块是可选的,它的成功与否不会对身份认证起关键作用,其返回值一般被忽略include: 调用其他的配置文件中定义的配置
  • optional 可选项(显示信息
  • substack 子模块

  1. required验证失败时仍然继续,但返回Fail
  2. required验证失败则立即结束整个验证过程,返回Fail
  3. sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
  4. optional不用于验证,只显示信息(通常用于session类型) 
第三模块——PAM模块及参数

默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径。 同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数。

PAM认证类型包括四种

  • 认证管理(authentication management):接受用户名和密码,进而对该用户的密码进行认证;
  • 帐户管理(account management):检查帐户是否被允许登录系统,帐号是否已经过 期,帐号的登录是否有时间段的限制等;
  • 密码管理(password management):主要是用来修改用户的密码;
  • 会话管理(session management):主要是提供对会话的管理和记账。控制类型也可以称做 Control Flags,用于 PAM 验证类型的返回结果。 
 1.2.1Shell模块

功能:检查有效shell

只规定除nologin之外的类型通过

1.2.2securetty模块 

功能:只允许root用户在/etc/securetty列出的安全终端上登录

将第一行注释的话,可以使用telnet协议进行远程登录 

不建议使用telnet协议登录,因为telnet是明文传输 ,使用pam的目的是为了增强安全性

 

1.2.3pam_nologin.so 模块

功能:如果/etc/nologin文件存在,将导致非root用户不能登录,当该用户登录时,会显示/etc/nologin文件内容,并拒绝登录(可以用于日常维护使用)

1.3PAM工作原理

PAM认证一般遵循这样的顺序:Service(服务)→PAM(配置文件)→pam_*.so

PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证

总结:

  1. 使用者执行/usr/bin/passwd 程序,并输入密码
  2. passwd开始调用PAM模块,PAM模块会搜寻passwd程序的PAM相关设置文件,这个设置文件一般是在/etc/pam.d/里边的与程序同名的文件,即PAM会搜寻/etc/pam.d/passwd此设置文件
  3. 经由/etc/pam.d/passwd设定文件的数据,取用PAM所提供的相关模块来进行验证
  4. 将验证结果回传给passwd这个程序,而passwd这个程序会根据PAM回传的结果决定下一个动作(重新输入密码或者通过验证)

1.4limit——控制进程占用资源

功能:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间

其位置在/etc/security文件夹下

想知道哪些配置文件调用了limit模块

vim limits.conf可以查看limit详细信息

 nproc:某个用户最多可以打开几个进程

pgrep -l -u 用户名  可以查看用户有多少个进程

目前显示ghd用户已经开启了五个进程,无法开启更多进程

1.4.1ulimit命令

ulimit是linux shell的内置命令,它具有一套参数集,用于对shell进程及其子进程进行资源限制。

ulimit的设定值是 per-process 的,也就是说,每个进程有自己的limits值。使用ulimit进行修改,立即生效。

ulimit只影响shell进程及其子进程,用户登出后失效。

可以在profile中加入ulimit的设置,变相的做到永久生效

选项含义
-H设置硬件资源限制
-S设置软件资源限制
-a显示当前所有的资源限制
-c size设置core文件的最大值.单位:blocks
-d size设置数据段的最大值.单位:kbytes
-f size设置创建文件的最大值.单位:blocks
-l size设置在内存中锁定进程的最大值.单位:kbytes
-m size设置可以使用的常驻内存的最大值.单位:kbytes
-n size设置内核可以同时打开的文件描述符的最大值.单位:n
-p size设置管道缓冲区的最大值.单位:kbytes
-s size设置堆栈的最大值.单位:kbytes
-t size设置CPU使用时间的最大上限.单位:seconds
-u size最大用户进程数
-v size设置虚拟内存的最大值.单位:kbytes

ulimit -a  可以查看调整好的信息状态

1.4.1延伸——压测  ab

可以通过ulimit -n命令将open files调大

ab是httpd tools的测试小工具,需要安装

*                soft    core            unlimited
*                hard    core            unlimited
*                soft    nproc           1000000
*                hard    nproc           1000000
*                soft    nofile          1000000
*                hard    nofile          1000000
*                soft    memlock         32000
*                hard    memlock         32000
*                soft    msgqueue        8192000
*                hard    msgqueue        8192000



#limits  生产中建议设置

1.5开关机安全控制

1.5.1调整BIOS引导设置
  • 将第一引导设备设为当前系统所在硬盘
  • 禁止从其他设备(光盘、U盘、网络)引导系统
  • 将安全级别设为setup,并设置管理员密码

可以使用pe(小型的Linux系统) 或者 BIOS中进行密码破解    所以要将BIOS中可以通过硬盘登录引导系统进行关闭

1.5.2GRUB限制
  • 使用grub2-mkpasswd-pdkdf2生成密钥
  • 修改/etc/grub.d/00_header文件中,添加密码记录
  • 生成新的grub.cfg配置文件

由于GRUB 2负责引导linux系统,其作为系统中的第一道屏障的安全性非常重要,对GRUB 2进行加密可以实现安全性。

在默认情况下,GRUB 2对所有可以在物理上进入控制台的人都是可访问的。任何人都可以选择并编辑任意菜单项,并且可以直接访问GRUB命令行。要启用认真支持,必须将环境变量超级用户设置为一组用户名(可以使用空格、逗号、分号作为分隔符)这样就只允许超级用户使用GRUB命令行、编辑菜单项以及执行任意菜单项。  

1.6暴力破解密码

Joth the Ripper,简称JR

  • 一款密码分析工具,支持字典式的暴力破解
  • 通过对shadow文件的口令分析,可以检测密码强度
  • 官方网站:http://www.openwall.com/john/
cd /opt
tar. zxf john-1.8.0.tar.gz
#解压工具包

yum install -y gcc gcc-c++ make
#安装软件编译工具

cd /opt/john-1.8.0/src
#切换到src子目录

make clean linux-x86-64
#进行编译安装

cp /etc/shadow /opt/shadow.txt
#准备待破解的密码文件


/opt/john-1.8.0/run/john   /opt/shadow.txt 
Loaded 2 password hashes with 2 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status

#显示目前有两个用户需要进行破解,需要等待时间     如果密码在

xxx              (root)
xxx              (ghd)

#显示已破解的密码


2g 0:00:00:16 100% 2/3 0.1222g/s 361.4p/s 367.3c/s 367.3C/s 123456..pepper
Use the "--show" option to display all of the cracked passwords reliably
Session completed



./john --show /opt/shadow.txt
root:123::0:99999:7:::
ghd:123::0:99999:7:::

2 password hashes cracked, 0 left


#查看已破解的密码

 1.7NMAP——网络端口扫描

  • 一款强大的网络扫描、安全检测工具
  • 官方网站:http://namp.org/
  • Centos7.3光盘中安装包nmp-6.40-7.el7.x86_64.rpm

1.7.1NMAP的常用选项和扫描类型
选项内容
-p指定扫描的端口
-n禁用反向DNS解析(以加快扫描速度)
-sSTCP的SYN扫描 (半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放
-sTTCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放
-sFTCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对sYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性
-sUUDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢
-sPICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描
-p0跳过ping检测, 这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描
1.7.2NMAP用于发现主机的一些用法
选项内容
-sLList Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现
-snPing Scan 只进行主机发现,不进行端口扫描
-Pn将所有指定的主机视作开启的,跳过主机发现的过程
-PS/PA/PU/PY[portlist]使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现
-PE/PP/PM使用ICMP echo, timestamp, and netmask 请求包发现主机
-PO[protocollist]使用IP协议包探测对方主机是否开启
-n/-R-n表示不进行DNS解析;-R表示总是进行DNS解析
--dns-servers<serv1[,serv2],...>指定DNS服务器
--system-dns指定使用系统的DNS服务器
--traceroute追踪每个路由节点 
1.7.3NMAP扫描端口的一些方法
选项内容
-sS/sT/sA/sW/sM指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描
-sU指定使用UDP扫描方式确定目标主机的UDP端口状况
-sN/sF/sX指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态
--scanflags <flags>定制TCP包的flags
-sI <zombiehost[:probeport]>指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host) 
-sY/sZ使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况
-sO使用IP protocol 扫描确定目标机支持的协议类型
-b <FTP relay host>使用FTP bounce scan扫描方式
1.7.4演示 
[root@localhost opt]#nmap -sT 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2024-01-06 15:25 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00023s latency).
Not shown: 995 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
25/tcp    open  smtp
111/tcp   open  rpcbind
631/tcp   open  ipp
10000/tcp open  snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
[root@localhost opt]#nmap -sU 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2024-01-06 15:25 CST


#分别查看本机开放的TCP端口、UDP端口


[root@localhost opt]#nmap -p 80 192.168.241.0/24

Starting Nmap 6.40 ( http://nmap.org ) at 2024-01-06 15:26 CST
Nmap scan report for 192.168.241.1
Host is up (0.00044s latency).
PORT   STATE  SERVICE
80/tcp closed http
MAC Address: 00:50:56:C0:00:08 (VMware)

Nmap scan report for 192.168.241.2
Host is up (0.00014s latency).
PORT   STATE  SERVICE
80/tcp closed http
MAC Address: 00:50:56:FE:2A:68 (VMware)

Nmap scan report for 192.168.241.11
Host is up (0.000048s latency).
PORT   STATE  SERVICE
80/tcp closed http

Nmap done: 256 IP addresses (3 hosts up) scanned in 15.33 seconds



##检测192.168.80.0/24网段有哪些主机提供HTTP服务


[root@localhost opt]#nmap -n -sP 192.168.241.0/24

Starting Nmap 6.40 ( http://nmap.org ) at 2024-01-06 15:27 CST
Nmap scan report for 192.168.241.1
Host is up (0.00038s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.241.2
Host is up (0.000078s latency).
MAC Address: 00:50:56:FE:2A:68 (VMware)
Nmap scan report for 192.168.241.11
Host is up.
Nmap done: 256 IP addresses (3 hosts up) scanned in 1.95 seconds



#检测192.168.80.0/24网段有哪些存活主机



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

四、总结

1.账号基本安全措施

  • 系统账号清理
  • 密码安全控制
  • 命令历史清理
  • 自动注销

2.用户切换域提权

  • su
  • sudo

3.开关机安全控制

  • BIOS引导设置
  • 禁止Ctrl+Alt+Del快捷键
  • GRUB菜单设置密码

4.终端控制

5.John the Ripper工具

6.namp命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/299882.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别

记录一下遇到的问题&#xff1a;Linux系统下Qt编译第三方动态库会生成多个.so文件&#xff0c;不了解的小伙伴可能很疑惑&#xff1a; &#xff08;1&#xff09;Linux 下 QT 生成的&#xff08;.o&#xff09;、&#xff08;.a&#xff09;和&#xff08;.so&#xff09;三个文…

如何向嵌入式设备中添加tcpdump工具

说明&#xff1a;tcpdump是一个在网络设备调试中一个非常重要的工具&#xff0c;它并不像hexdump等工具集成在busybox里面&#xff0c;也不像其他的软件一样只需要依赖linux标准的库就可以实现&#xff0c;它需要pcap相关的库和加密的相关库。 本文主要是基于realtek 83系列的…

APPnium 自动化实践 :第一步adb 连接手机

1. 下载安装 adb ,添加到环境变量。 ADB Download - Get the latest version of ADB and fastboot 2. 手机开启开发者模式 https://developer.huawei.com/consumer/cn/doc/quickApp-Guides/quickapp-open-developer-option-0000001137005543 3. adb 连接设备 【And…

网络安全与IP地址:构建数字世界的前沿堡垒

网络安全是当今数字社会中不可忽视的挑战之一。而IP地址&#xff0c;作为互联网通信的基础协议&#xff0c;既是数字化时代的桥梁&#xff0c;也是网络安全的关键节点。本文将剖析IP地址在网络安全领域的作用&#xff0c;以及如何利用其特性建立有效的网络安全策略。 IP地址&a…

【图神经网络导论】之第9章模型变体(刘知远)

第9章不同图类型的模型变体 文章目录 第9章不同图类型的模型变体9.1 有向图9.2 异构图9.3 带有边信息的图9.4 动态图9.5 多维图 第4章介绍的基础GNN模型"被用于处理无向图&#xff0c;这些图包含具有标签的节点&#xff0c;是最简单的图。然而&#xff0c;在现实世界中还有…

了解一下InternLM3

在 InternStudio 平台中选择 A100(1/4) 的配置&#xff0c;如下图所示镜像选择 Cuda11.7-conda&#xff0c;接下来打开刚刚租用服务器的进入开发机&#xff0c;并且打开其中的终端开始环境配置、模型下载和运行 demo。入开发机后&#xff0c;在页面的左上角可以切换 JupyterLab…

CSS 压重按钮 效果

<template><view class="cont"><div class="container"><div class="pane"><!-- 选项1 --><label class="label" @click="handleOptionClick(0)":style="{ color: selectedOption ==…

GD32 支持IAP的bootloader开发,使用串口通过Ymodem协议传输固件(附代码)

资料下载: https://download.csdn.net/download/vvoennvv/88713921 一、概述 关于IAP的原理和Ymodem协议&#xff0c;本文不做任何论述&#xff0c;本文只论述bootloader如何使用串口通过Ymodem协议接收升级程序并进行IAP升级&#xff0c;以及bootloader和主程序两个工程的配置…

shell编程学习(二)

变量的类型 预定义变量 $$ 当前进程PID $? 命令执行后的返回状态.0 为执行正确&#xff0c;非 0 为执行错误 $# 位置参数的数量 $* 所有位置参数的内容 …

Next.js 第一次接触

因为需要整个漂亮的在线文档&#xff0c;所以接触了next.js&#xff0c;因为对前端js本身不够熟悉&#xff0c;别说对react.js 又不会&#xff0c;时间又不允许深入研究&#xff0c;所以&#xff0c;为了加一个导航菜单&#xff0c;极其痛苦。 有点小bug&#xff0c;不过不影响…

《EnlightenGAN: Deep Light Enhancement withoutPaired Supervision》论文超详细解读(翻译+精读)

前言 最近学习低照度图像增强时读到这篇EnlightenGAN的论文觉得写得很有意思&#xff0c;讲故事的手法也很值得小白写论文时模仿&#xff0c;今天就来带大家读一下~ 目录 前言 ABSTRACT—摘要 翻译 精读 一、INTRODUCTION—简介 翻译 精读 二、RELATED WORKS—相关工…

Joplin配合teracloud进行多版本客户端分别笔记同步

最近瞎搜索joplin&#xff0c;意外在github上搜到plugins&#xff0c;插件仓库&#xff0c;里面有一个思维导图的插件我还是蛮喜欢的&#xff0c;结果下载后安装发现&#xff0c;我当前的Jopin的版本如下 &#xff08;Joplin 2.7.15 (prod, win32) 同步版本: 3 配置文件版本: 4…

Linux Ubuntu 20.04.6 Intel WiFi6 Ax411 1690i Ax1690i Killer 解决无线网卡识别不出来问题

项目场景&#xff1a; 网卡型号&#xff1a;英特尔 Killer™ Wi-Fi 6E AX1690 i/s ubuntu 版本 uname -a Linux kuanli 5.15.0-91-generic #101~20.04.1-Ubuntu SMP Thu Nov 16 14:22:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux cat /proc/version Linux version 5.15.0-9…

MySQL忘记密码,如何重置密码(Windows)

1. 停止MySQL服务 打开“服务”管理工具&#xff08;可以在开始菜单搜索“服务”或运行 services.msc&#xff09;。 找到你的MySQL服务&#xff0c;可能叫别的&#xff0c;但是应该都是mysql开头的。 鼠标右键停止运行它。 2. 跳过权限表启动 MySQL 打开命令提示符&#x…

PyQT5+MySQL的学生信息管理系统【附源码,运行简单】

PyQT5MySQL的学生信息管理系统【附源码&#xff0c;运行简单】 总览 1、《PyQT5MySQL的学生信息管理系统》1.1 方案设计说明书设计目标需求分析工具列表 2、详细设计2.1 登录2.2 程序主页面2.3 学生新增界面2.4 学生更改界面2.4 学生删除界面2.5 其他功能贴图 3、下载 总览 自…

【好书推荐】ReactJS实践入门

作者简介 Chris Minnick是一位多产的作家、博主、培训师、演说家和Web工程师。他创立的WatzThis&#xff1f;公司&#xff0c;一直致力于寻找更好的方法向初学者教授计算机和编程技能。 Chris拥有超过25年的全栈开发经验&#xff0c;他也是一名教龄超过10年的培训师&#xff0c…

使用C#发送邮箱验证码

使用C#发送邮箱验证码 在很多应用程序中&#xff0c;我们需要使用邮箱来进行用户身份验证。其中一种常见的方式是通过发送验证码到用户的邮箱&#xff0c;然后要求用户输入该验证码进行验证。本文将介绍如何使用 C# 发送邮箱验证码。 声明 验证码登录没有用任何的工具&#…

linuxnodejs 20.* 安装问题,version `GLIBCXX_3.4.26‘

背景 今天服务器被重置拉&#xff0c;nodejs 环境不存在&#xff0c;特意安装下nodejs&#xff0c;一访问官网&#xff0c;妈呀&#xff0c;居然到20版本拉&#xff01;就尝试安装下最新版本&#xff01; 过程 $ cd /opt $ curl -OL https://nodejs.org/dist/v20.10.0/node-v2…

C++11_可变参数模版

文章目录 前言一、可变参数模版是什么&#xff1f;二、如何使用可变参数模版1.怎么解析可变参数模版2.可变参数模版的实际应用 总结 前言 C11 &#xff0c;添加了许多有用的功能&#xff0c;上章我们主要讲解了右值引用&#xff0c;这章我们来讲解可变参数模版的使用。 提示&a…

Spring之循环依赖底层源码(一)

文章目录 一、简介1. 回顾2. 循环依赖3. Bean的生命周期回顾4. 三级缓存5. 解决循环依赖的思路 二、源码分析三、相关问题1. Async情况下的循环依赖解析2. 原型Bean情况下的循环依赖解析3. 构造方法导致的循环依赖解析 一、简介 1. 回顾 前面首先重点分析了Spring Bean的整个…