2018-4-13

Linux 命令大全 Linux 理论知识 Linux 环境变量 Linux 用户管理 Linux 文件管理 Linux 网络管理 Linux 磁盘管理

N_Raspberrypi Ubuntu CentOS N_Docker

系统相关配置文件说明

用户与权限管理

  • /etc/passwd
    存储用户账户基本信息:用户名、UID、GID、主目录、默认shell等

  • /etc/shadow
    保存加密密码及账户安全信息(仅root可读)

  • /etc/group
    包含用户组信息:组名、GID和组成员列表

  • /etc/sudoers
    定义sudo权限配置(使用visudo命令编辑)

  • /etc/security/limits.conf
    控制系统资源限制(如最大打开文件数、CPU时间等)
    查看限制:ulimit -a

网络配置

  • /etc/hosts
    IP地址与主机名映射表

  • /etc/hostname
    存储系统主机名

  • /etc/resolv.conf
    DNS解析配置(nameserver设置)

  • /etc/network/interfaces
    网络接口配置(Debian系)

  • /etc/sysconfig/network-scripts/
    网络接口配置(RHEL系)

系统服务

  • /etc/ssh/sshd_config
    SSH服务端配置文件

  • /etc/ntp.conf
    NTP时间同步服务配置

  • /etc/crontab
    系统定时任务配置

  • /etc/systemd/
    systemd服务配置目录(含各种unit文件)

文件系统

  • /etc/fstab
    文件系统挂载信息(设备、挂载点、选项等)

  • /etc/mtab
    当前已挂载文件系统信息(动态生成)

软件管理

  • /etc/apt/sources.list
    Debian/Ubuntu软件源配置

  • /etc/yum.repos.d/
    RHEL/CentOS软件源配置目录

系统环境

  • /etc/environment
    系统全局环境变量

  • /etc/profile
    全局shell环境配置(对所有用户生效)

  • /etc/bashrc
    全局bash shell配置

内核与日志

  • /etc/sysctl.conf
    内核参数配置文件

  • /etc/logrotate.conf
    日志轮转规则配置

引导相关

  • /etc/default/grub
    GRUB引导加载程序配置

  • /etc/grub.d/
    GRUB配置脚本目录

系统维护管理

服务管理

参考上Linux 理论知识 许多程序需要开机启动。它们在Windows叫做*“服务”(service)*,在Linux就叫做”守护进程”(daemon)

一般情况下运行等级为5

chkconfig

chkconfig 是一个维护/etc/rc[0~6].d 文件夹的命令行工具,它减轻了系统直接管理这些文件夹中的符号连接的负担。 chkconfig主要包括5个原始功能:为系统管理增加新的服务、为系统管理移除服务、列出单签服务的启动信息、改变服务的启动信息和检查特殊服务的启动状态。 当单独运行chkconfig命令而不加任何参数时,他将显示服务的使用信息。

# 查看所有服务状态
$ chkconfig
 
# 查看具体服务配置
$ chkconfig <servicename>
 
# 添加新服务
$ chkconfig --add servicename
 
# 设置启动等级
$ chkconfig --level 35 mysqld on

所有服务, 每个运行级别将启动的服务`

$ chkconfig
 
cloudResetPwdAgent      0:off   1:off   2:on    3:on    4:on    5:on    6:off
cloudResetPwdUpdateAgent        0:off   1:off   2:on    3:on    4:on    5:on    6:off
hostguard       0:off   1:off   2:on    3:on    4:on    5:on    6:off
jenkins         0:off   1:off   2:off   3:on    4:off   5:on    6:off
multi-queue-hw  0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:off   3:off   4:off   5:off   6:off

创建一个服务

chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

  1. 启动脚本 服务脚本必须存放在/etc/ini.d/目录下

  2. 添加服务 在chkconfig工具服务列表中增加此服务,此时服务会被在 /etc/rc.d/rc{N}.d 中赋予K/S入口了 chkconfig –add servicename

  3. 设置启动等级 设定mysqld在等级3和5为开机运行服务,—level 35表示操作只在等级3和5执行,on表示启动,off表示关闭 chkconfig –level 35 mysqld on

service

service 命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。 相关的命令还包括chkconfig、ntsysv等,chkconfig用于查看、设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动。 service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。

service mysqld start 相当于 /etc/init.d/mysqld start

service 服务名 [start | stop | restart | reload | status]

service mysqld start #开始
service mysqld stop  #停止
service mysqld restart #重新启动
service mysqld reload  #重新加载
service mysqld status  #状态
service --status-all #所有服务状态

systemctl

systemctl 是设置系统服务的命令,即 service , 它融合 service 和 chkconfig 的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。 主要负责控制systemd系统和服务管理器

$ systemctl start httpd.service      # 启动服务
$ systemctl stop httpd.service       # 停止服务
$ systemctl restart httpd.service    # 重启服务
$ systemctl status httpd.service     # 查看状态
$ systemctl enable httpd.service     # 设置开机启动
$ systemctl disable httpd.service    # 禁用开机启动
$ systemctl is-enabled httpd.service # 检查是否开机启动
$ systemctl list-unit-files|grep enabled # 查看已启动的服务列表
 
systemctl --failed # 查看启动失败的服务列表
systemctl list-units --type=service 
systemctl unmask mysql.service
systemctl status mysql.service
 

进程管理

linux中也称为task,是系统分配资源的基本单位

资源:独立的地址空间 内核数据结构(进程描述符…)全局变量 数据段… 进程描述符:PCB(Process Control Block) linux 用于管理进程的数据结构

PS

Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

语法

ps [options] [--help]

参数

  • ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
  • -A 列出所有的进程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的进程
  • au(x) 输出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    • USER: 行程拥有者
    • PID: pid
    • %CPU: 占用的 CPU 使用率
    • %MEM: 占用的记忆体使用率
    • VSZ: 占用的虚拟记忆体大小
    • RSS: 占用的记忆体大小
    • TTY: 终端的次要装置号码 (minor device number of tty)
    • STAT: 该行程的状态:
      • D: 无法中断的休眠状态 (通常 IO 的进程)
      • R: 正在执行中
      • S: 静止状态
      • T: 暂停执行
      • Z: 不存在但暂时无法消除
      • W: 没有足够的记忆体分页可分配
      • <: 高优先序的行程
      • N: 低优先序的行程
      • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
    • START: 行程开始时间
    • TIME: 执行的时间
    • COMMAND:所执行的指令
# 同时显示PID和启动时间:
ps -p <PID> -o pid,lstart,cmd
 
 
ps -eo pid,lstart,cmd | grep -E "nginx|mysql"
ps -eo pid,lstart,cmd | grep -E "uvc"

信息说明

USER(用户):启动进程的用户名。 PID(进程ID):进程的唯一标识符。 %CPU(CPU使用率):进程使用的CPU资源的百分比。 %MEM(内存使用率):进程使用的物理内存的百分比。 VSZ(虚拟内存大小):进程使用的虚拟内存大小(以KB为单位)。 RSS(物理内存大小):进程使用的物理内存大小(以KB为单位)。 TTY(终端):启动进程的终端设备。 STAT(状态):进程的状态代码。常见的状态包括: R:运行或就绪状态 S:睡眠状态 Z:僵尸状态 D:不可中断状态 T:停止状态 START(启动时间):进程启动的时间或日期。 TIME(CPU时间):进程已经使用的CPU时间。 COMMAND(命令):启动进程的命令或可执行文件的名称。

常用命令

ps aux:显示所有用户的所有进程信息。该命令以全格式显示进程信息,包括用户、CPU使用情况、内存占用、启动时间等。 ps -ef:显示所有进程的完整信息。类似于ps aux,但使用BSD风格的输出格式。 ps -e:显示所有进程的基本信息。 ps -f:显示进程的全格式信息,包括父进程ID、进程组ID、会话ID等。 ps -l:以长格式显示进程信息,包括进程状态、进程优先级等。 ps -p <PID>:显示指定进程ID(PID)的信息。将<PID>替换为要查看的实际进程ID。 ps -t <TTY>:显示指定TTY终端上的所有进程信息。将<TTY>替换为TTY设备名。

ps -ef | grep 进程关键字
 
ps ef|grep java # 查询带 java 的进程
ps ef|grep python # 查询带 python 的进程
 
# 导出所有进程列表到文件
ps aux > processes_list.txt
 
ps aux | awk '{print $2, $11}' > processes_list.txt
 

top

Linux top 是一个在 Linux 和其他类 Unix 系统上常用的实时系统监控工具。它提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息。

语法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 参数说明

  • -d <秒数>:指定 top 命令的刷新时间间隔,单位为秒。
  • -n <次数>:指定 top 命令运行的次数后自动退出。
  • -p <进程ID>:仅显示指定进程ID的信息。
  • -u <用户名>:仅显示指定用户名的进程信息。
  • -H:在进程信息中显示线程详细信息。
  • -i:不显示闲置(idle)或无用的进程。
  • -b:以批处理(batch)模式运行,直接将结果输出到文件。
  • -c:显示完整的命令行而不截断。
  • -S:累计显示进程的 CPU 使用时间。

信息说明

top

//load average 最近5, 10 15 的负载
top - 15:54:31 up 40 min,  1 user,  load average: 0.00, 0.01, 0.05
//Tasks — 任务(进程)
Tasks: 130 total,   1 running, 129 sleeping,   0 stopped,   0 zombie
//CPU  [见下]
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
//内存状态
KiB Mem :  1863032 total,  1368228 free,   283952 used,   210852 buff/cache
//swap交换分区信息
KiB Swap:  2097148 total,  2097148 free,        0 used.  1421940 avail Mem
//各进程状态监控 [见下]
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
列名说明重要提示
PID进程ID系统唯一标识符
USER运行用户查看进程所有者
PR优先级(1-139)值越小优先级越高
NINice值(-20~19)用户可调整的优先级偏移量
​VIRT​虚拟内存大小包含共享库的总申请内存
​RES​常驻内存实际使用的物理内存
​SHR​共享内存可与其他进程共享的内存
S进程状态R=运行, S=睡眠, T=停止, Z=僵尸
​%CPU​CPU使用率单核100%=100%,四核理论最大400%
​%MEM​内存使用率(RES / 总内存) × 100%
TIME+累计CPU时间进程消耗的总CPU时间
CPU状态

%Cpu(s): us, user: 运行(未调整优先级的) 用户进程的CPU时间 sy,system: 运行内核进程的CPU时间 ni,niced:运行已调整优先级的用户进程的CPU时间 id:idle 空闲的cpu时间比 wa,IO wait: 用于等待IO完成的CPU时间 hi:处理硬件中断的CPU时间 si: 处理软件中断的CPU时间 st:这个虚拟机被hypervisor偷去的CPU时间(如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)

进程状态

PID:进程的ID PR:进程的优先级别,越小越优先被执行 VIRT: virtual memory usage 虚拟内存 1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等 2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:resident memory usage 常驻内存 1、进程当前使用的内存大小,但不包括swap out 2、包含其他进程的共享 3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反 4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:shared memory 共享内存 1、除了自身进程的共享内存,也包括其他进程的共享内存 2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小 3、计算某个进程所占的物理内存大小公式:RES – SHR 4、swap out后,它将会降下来 S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数 %CPU:进程占用CPU的使用率// t是按CPU总使用率来显示的,4核理论上最高可达400% %MEM:进程使用的物理内存和总内存的百分比

交互命令

显示
快捷键功能说明
h帮助显示所有可用命令
q退出退出top程序
1CPU核心视图切换显示所有CPU核心状态
m内存视图切换显示内存信息
tCPU视图切换显示CPU信息
c命令切换显示完整命令路径
V进程树树状结构显示进程关系
k终止进程输入PID发送信号
rrenice进程调整进程优先级
c命令行参数显示完整的命令行参数
排序
快捷键排序依据说明
PCPU使用率%CPU降序排序
M内存使用量%MEM降序排序
NPID大小高PID优先
T运行时间长时间进程优先
R反转顺序升序/降序切换

查看进程的 标准输入输出

在Linux系统中,查看进程的标准输入、输出和错误输出,通常涉及到查看进程的文件描述符(file descriptors)。每个进程都会有三个标准文件描述符:
0: 标准输入(stdin)
1: 标准输出(stdout)
2: 标准错误(stderr)

查看已重定向的文件​

如果进程的输入/输出被重定向到文件,可通过 /proc 文件系统定位:ls -l /proc/<PID>/fd/

​示例​​:

ls -l /proc/1234/fd/0  # stdin 
ls -l /proc/1234/fd/1  # stdout 
ls -l /proc/1234/fd/2  # stderr

输出中的链接会指向实际文件(如 /dev/pts/0 表示终端,/path/to/file.log 表示文件)。

​​使用 lsof 命令​​

列出进程打开的所有文件描述符(包括 stdin/stdout/stderr):lsof -p <PID> | egrep 'STDIN|STDOUT|STDERR'

​关键列​​:

  • FD: 文件描述符(0u=stdin, 1u=stdout, 2u=stderr)
  • TYPE: 类型(如 REG=文件,CHR=字符设备)
  • DEVICE: 设备号(如终端 pts/0
  • NAME: 文件路径(如 /dev/null

重定向输入/输出​

启动进程时手动重定向以便追踪:

./program < input.txt > output.log 2> error.log  # 分别重定向
./program &> all_output.log                     # 合并 stdout+stderr

  • 未重定向时​​:默认 stdin/stdout/stderr 绑定到启动进程的终端(/dev/pts/<N>)。
  • ​重定向到 /dev/null​:表示丢弃输入/输出。
  • ​守护进程​​:通常会将 stdin/stdout/stderr 重定向到 /dev/null 或日志文件。
  • ​管道/套接字​​:若通过管道或网络通信,文件描述符可能指向 pipe 或 socket

系统状态

iostat

是一个用于显示系统输入/输出统计信息的命令行工具。它提供了关于CPU、磁盘和设备的详细性能统计,以帮助用户了解系统的负载情况和磁盘I/O性能。 可以通过安装sysstat包,包括了iostat,mpstat,sra等工具包。 apt install sysstat

参数说明

-c:仅显示CPU统计信息。 -d:仅显示磁盘统计信息。 -k:以KB为单位显示统计信息。 -m:以MB为单位显示统计信息。 -N:显示NFS统计信息。 -p <设备>:仅显示指定设备的统计信息。 -t:显示时间戳。 -V:显示命令的版本信息。 时间间隔:指定统计信息的采样时间间隔,以秒为单位。默认情况下,iostat会显示自系统启动以来的统计信息。 次数:指定显示统计信息的次数。默认为显示一次,并退出。

iostat 1

//CPU的信息
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.25    0.00    0.00   99.75
Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
mmcblk0           0.00         0.00         0.00          0          0

信息说明

Device(设备):显示磁盘设备的名称。 tps(每秒传输次数):每秒完成的传输次数(读取和写入)。 kB_read/s(每秒读取的数据量):每秒从设备读取的数据量(以KB为单位)。 kB_wrtn/s(每秒写入的数据量):每秒写入设备的数据量(以KB为单位)。

常用命令

$ iostat 1       # 每秒刷新显示
$ iostat 2 3     # 每2秒刷新,显示3次

free

Linux free命令用于显示内存状态。 free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

total:总计物理内存的大小。 used:已使用多大。 free:可用有多少。 Shared:多个进程共享的内存总额。 Buffers/cached:磁盘缓存的大小。

参数说明

-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。
-h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:

常用命令

free -s 1 //每1s 执行一次命令

监控CPU,内存,网络

#!/bin/bash
 
# 获取网络接口名称(自动检测第一个非lo网卡)
INTERFACE=$(ip -o link show | awk -F': ' '{if ($2 != "lo") {print $2; exit}}')
if [ -z "$INTERFACE" ]; then
    echo "Error: No network interface found!" >&2
    exit 1
fi
 
# 获取初始网络数据
read RX_BYTES TX_BYTES < <(awk -v iface="$INTERFACE" '$0 ~ iface":" {print $2,$10}' /proc/net/dev)
 
while true; do
    # 获取当前时间
    TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
    
    # 获取CPU使用率(用户+系统)
    CPU_USAGE=$(top -bn1 | grep '%Cpu' | awk '{printf "%.1f (%dMB/%dMB)", $3/$2 * 100, $3, $2}')
    
    # 获取网络流量(5秒间隔)
    read NEW_RX NEW_TX < <(awk -v iface="$INTERFACE" '$0 ~ iface":" {print $2,$10}' /proc/net/dev)
    RX_RATE=$(( (NEW_RX - RX_BYTES) / 5 / 1024 ))
    TX_RATE=$(( (NEW_TX - TX_BYTES) / 5 / 1024 ))
    RX_BYTES=$NEW_RX
    TX_BYTES=$NEW_TX
    
    # 打印结果
    printf "[%s] CPU: %-6s | Mem: %-18s | Net: RX:%-4dKB/s TX:%-4dKB/s\n" \
           "$TIMESTAMP" "$CPU_USAGE" "$MEM_INFO" "$RX_RATE" "$TX_RATE"
    
    # 等待5秒
    sleep 5
done

硬件信息

lspci 命令行工具,可以用来列出所有的 PCI 总线的信息

系统概览

命令描述示例
uname -a显示内核和系统信息uname -a
hostnamectl显示主机名和系统信息hostnamectl
lshw完整硬件列表(需安装)sudo lshw
inxi -Fx综合硬件信息报告(需安装)inxi -Fx

CPU 信息

命令描述示例
lscpu显示CPU架构信息lscpu
cat /proc/cpuinfo显示详细CPU信息cat /proc/cpuinfo
nproc显示CPU核心数nproc
dmidecode -t processor通过DMI获取CPU信息sudo dmidecode -t processor

GPU 信息

NVIDIA 显卡

命令描述示例
nvidia-smi显示GPU状态nvidia-smi
nvidia-smi -q显示完整GPU信息nvidia-smi -q

通用显卡

命令描述示例
lspci | grep -i vga识别所有显卡lspci | grep -i vga
glxinfo | grep OpenGL显示OpenGL信息glxinfo | grep OpenGL

内存信息

命令描述示例
free -h显示内存使用情况free -h
cat /proc/meminfo显示详细内存信息cat /proc/meminfo
vmstat -s显示内存统计vmstat -s

存储设备

磁盘信息

命令描述示例
lsblk显示块设备列表lsblk
fdisk -l显示分区表信息sudo fdisk -l

文件系统

命令描述示例
df -h显示磁盘空间使用df -h
du -sh [目录]计算目录大小du -sh /home

网络信息

命令描述示例
ip link show显示网络接口ip link show
ethtool [接口]显示网卡详细信息ethtool eth0

温度监控

命令描述示例
sensors显示传感器数据sensors
hddtemp /dev/sd[a-z]显示硬盘温度sudo hddtemp /dev/sda

系统版本

命令描述示例
lsb_release -a显示发行版信息lsb_release -a
cat /etc/os-release显示系统版本信息cat /etc/os-release

日常维护

后台运行命令 nohup

nohup 如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。 该命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。 该命令的一般形式为:

nohup conmmand &

如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为 nohup.out 的文件中,除非另外指定了输出文件:

nohup command > myout.file 2>&1 

丢弃所有输出

nohup command >/dev/null 2>&1 &
 
nohup java -jar llm-tny-1.0-SNAPSHOT.jar  >/dev/null 2>&1 &

2>&1 表示将标准错误也重定向

C语言 简易实现 防止多进程副本 .pid

参考资料: fcntl(文件锁) 头文件

#include <unistd.h>
#include <fcntl.h> 

函数定义 int fcntl(int fd, int cmd, struct flock *lock); 函数解释fd 文件描写符

lock.l_type = F_WRLCK;  
lock.l_whence = SEEK_SET;  
  
if (fcntl(fd, F_SETLK, &lock) < 0){  
    //锁定不成功, 退出......  
}  
sprintf (buf, "%d\n", (int) pid);  
pidsize = strlen(buf);  
if ((tmp = write (fd, buf, pidsize)) != (int)pidsize){  
    //写入不成功, 退出......  
}  

忘记root密码?

  1. ​重启系统​​ 开机时在 GRUB 菜单界面(通常需按 EscShift或 e键进入)。

  2. ​编辑 GRUB 启动项​

    • 选择默认启动项(通常是第一个),按 e进入编辑模式。
    • 找到以 linux或 linux16开头的行(可能包含 ro quiet splash)。
    • ​修改内核参数​​:
      • ​CentOS/RHEL 7​​: 在行末添加 rd.break(或 init=/bin/bash)。
      • ​Ubuntu/Debian​​: 将 ro改为 rw init=/bin/bash
  3. ​进入单用户模式​​ 按 Ctrl + X或 F10启动系统,会直接进入 bash或 switch_root环境。 最后按”b”启动,启动后就进入了单用户模式了

此时已经可以使用passwd更改root密码了。

Kali Linux

https://www.kali.org/get-kali/#kali-platforms https://zh.wikipedia.org/wiki/Kali_Linux https://docs.greenbone.net/GCS-Manual/gcs/en/

https://wizardforcel.gitbooks.io/daxueba-kali-linux-tutorial/content/4.html

Kali Linux是基于Debian的Linux发行版,设计用于数字鉴识和渗透测试。由Offensive Security公司维护和资助。

Kali Linux内置了大约600个渗透测试程序(工具),包括Armitage(图形化网络攻击管理工具)、Nmap(端口扫描工具)、Wireshark(数据包分析器)、Metasploit(渗透测试框架)、John the Ripper(密码破解器)、sqlmap(自动SQL注入和数据库接管工具)、Aircrack-ng(用于渗透测试无线局域网的软件包)、Burp suite以及OWASP ZAP网络应用安全扫描器等。

它由Offensive Security的马蒂·阿哈罗尼(Mati Aharoni)和德文·凯恩斯(Devon Kearns)通过重写BackTrack开发的,BackTrack是他们之前基于Knoppix的信息安全测试Linux发行版。 这个名字的灵感来自印度教女神时母(音译为“迦梨”或“迦利”)。

Kali Linux基于Debian测试分支。

OpenVAS

https://www.cnblogs.com/hahaha111122222/p/17411704.html

openvas的组件构成

1、服务器层组件: • openvas-scanner(扫描器):负责调用各种漏洞检测插件,完成实际的扫描操作。
• openvas-manager(管理器):负责分配扫描任务,并根据扫描结果生产评估报告。
• openvas-administrator(管理者):负责管理配置信息,用户授权等相关工作。

2、客户层组件: • openvas-cli(命令行接口):负责提供从命令行访问OpenVAS服务层程序。
• greenbone-security-assistant(安装助手):负责提供访问OpenVAS服务层的Web接口,便于通过浏览器来建立扫描任务,是使用最简便的客户层组件。
• Greenbone-Desktop-Suite(桌面套件):负责提供访问OpenVAS服务层的图形程序界面,主要允许在Windows客户机中。

OpenVAS改名为GVM了,通过以下命令进行一些更新。

# 1,更新kali:
sudo apt update && sudo apt upgrade -y
 
# 安装openvas:
sudo apt install gvm -y
 
# 初始化配置:
sudo gvm-setup #初始化过程会比较漫长 (此过程会下载漏洞数据库(NVT、SCAP、CERT 数据等)
# > User created with password '58f05f06-becc-47d6-acb1-be8ca3d06553'.
 
# 检查gvm安装检查:
sudo gvm-check-setup
 
# 总是有配置不全可以使用该命令同步
# sudo -u _gvm greenbone-feed-sync --type all

使用命令启动

gvm-start

想改密码,可以使用命令

runuser -u _gvm -- gvmd --user=admin --new-password=123456

附录资料

C中文网 菜鸟教程 菜鸟教程 -linux命令大全