Linux操作系统安全分析与防护

Linux操作系统安全机制

Linux操作系统由于其开放源代码和广泛应用,在服务器和嵌入式系统中占有重要地位。为了确保Linux系统的安全,必须了解并实施一系列有效的安全机制。这些机制包括用户身份验证、访问控制、数据加密、日志和审计、安全更新等。

一、Linux简介

Linux是一种自由和开放源代码的类Unix操作系统,最初由Linus Torvalds在1991年发布。由于其开放性、稳定性和安全性,Linux广泛应用于服务器、桌面、嵌入式设备和超级计算机中。常见的Linux发行版包括Ubuntu、CentOS、Debian、Fedora等。

二、认证机制

  1. 密码认证

    • 描述:用户通过输入用户名和密码登录系统。
    • 工具:PAM(可插拔认证模块)
    • 措施:设置强密码策略,要求定期更换密码,防止弱密码和重复密码。
    • 配置:在/etc/pam.d目录下配置PAM模块,如common-authcommon-password文件。
  2. 多因素认证(MFA)

    • 描述:结合多种认证方式,如密码和一次性密码(OTP)。
    • 工具:Google Authenticator、Duo
    • 措施:配置多因素认证,增加认证层次,提高安全性。
    • 配置:安装libpam-google-authenticator,并在PAM配置文件中添加相关配置。
  3. 公钥认证

    • 描述:使用公钥和私钥对进行无密码登录。
    • 工具:SSH
    • 措施:生成SSH密钥对,将公钥添加到服务器的~/.ssh/authorized_keys文件中,禁用密码登录。
    • 配置:在/etc/ssh/sshd_config文件中设置PasswordAuthentication noPermitRootLogin prohibit-password

三、Linux访问控制

  1. 文件权限

    • 描述:使用文件系统权限设置用户和组对文件的读、写、执行权限。
    • 工具:chmod、chown、chgrp
    • 措施:严格设置文件和目录权限,确保最小权限原则。
    • 配置:使用chmod设置权限,如chmod 755 filename;使用chown更改文件所有者,如chown user:group filename
  2. 访问控制列表(ACL)

    • 描述:提供更细粒度的文件权限控制。
    • 工具:setfacl、getfacl
    • 措施:使用ACL为文件和目录设置详细的访问权限。
    • 配置:使用setfacl命令,如setfacl -m u:user:rwx filename
  3. SELinux(安全增强型Linux)

    • 描述:提供强制访问控制(MAC),控制进程和对象的交互。
    • 工具:setenforce、getenforce、semanage
    • 措施:启用和配置SELinux策略,监控和限制进程行为。
    • 配置:在/etc/selinux/config文件中设置SELINUX=enforcing,使用setenforce命令启用SELinux。
  4. AppArmor

    • 描述:应用程序级的强制访问控制系统。
    • 工具:aa-status、aa-enforce
    • 措施:启用AppArmor并为关键应用程序配置安全策略。
    • 配置:使用aa-enforce命令启用AppArmor策略,配置文件位于/etc/apparmor.d目录下。

四、审计机制

  1. 系统日志

    • 描述:记录系统和应用程序的活动日志。
    • 工具:syslog、rsyslog、journalctl
    • 措施:配置日志记录,定期审查日志文件,监控系统活动。
    • 配置:在/etc/rsyslog.conf文件中配置日志记录,使用journalctl查看日志。
  2. 安全审计

    • 描述:记录和分析系统安全相关的事件。
    • 工具:Auditd
    • 措施:配置Auditd规则,记录安全事件,分析审计日志。
    • 配置:在/etc/audit/auditd.conf文件中配置Auditd,使用auditctl命令管理规则。
  3. 日志监控

    • 描述:实时监控日志,及时发现和响应安全事件。
    • 工具:Logwatch、Logrotate
    • 措施:配置日志监控和轮转,确保日志文件的完整性和可用性。
    • 配置:在/etc/logwatch/conf/logwatch.conf文件中配置Logwatch,在/etc/logrotate.conf文件中配置Logrotate。

五、安全更新

  1. 软件更新

    • 描述:及时安装系统和软件的安全更新,修补已知漏洞。
    • 工具:yum、apt-get、dnf
    • 措施:定期检查和安装安全更新,使用包管理器自动更新功能。
    • 配置:使用yum updateapt-get update && apt-get upgradednf update命令进行更新。
  2. 内核更新

    • 描述:确保内核版本包含最新的安全修复。
    • 工具:kexec、grub
    • 措施:定期更新内核,启用安全补丁。
    • 配置:使用yum update kernelapt-get install linux-image命令更新内核,配置/etc/grub.conf/etc/default/grub文件。

六、网络安全

  1. 防火墙

    • 描述:控制进出网络流量,防止未经授权的访问。
    • 工具:iptables、firewalld、ufw
    • 措施:配置防火墙规则,限制不必要的网络服务。
    • 配置:使用iptables配置防火墙规则,或使用firewalldufw进行简化管理。
  2. 入侵检测和防御系统(IDS/IPS)

    • 描述:检测和防止网络攻击和入侵行为。
    • 工具:Snort、Suricata、OSSEC
    • 措施:部署和配置IDS/IPS,监控网络流量和系统活动。
    • 配置:安装和配置Snort或Suricata规则,使用OSSEC进行主机入侵检测。
  3. 网络分段

    • 描述:将网络划分为多个子网,限制攻击面。
    • 工具:VLAN、子网划分
    • 措施:根据安全需求配置网络分段,隔离关键资源。
    • 配置:在网络设备上配置VLAN和子网,使用防火墙规则控制跨子网流量。

七、恶意软件防护

  1. 防病毒软件

    • 描述:检测和清除系统中的病毒和恶意软件。
    • 工具:ClamAV
    • 措施:安装和配置防病毒软件,定期扫描系统。
    • 配置:使用clamdfreshclam进行病毒数据库更新和扫描。
  2. 文件完整性检查

    • 描述:监控文件的完整性,检测篡改行为。
    • 工具:Tripwire、AIDE
    • 措施:配置文件完整性检查工具,定期检查关键文件。
    • 配置:使用tripwireaide初始化数据库并进行定期检查。

八、安全策略管理

  1. 安全策略

    • 描述:制定和实施系统安全策略,确保系统的安全性。
    • 工具:PAM、sudo
    • 措施:配置PAM模块,管理用户权限,使用sudo控制命令执行。
    • 配置:在/etc/pam.d目录下配置PAM模块,如common-authcommon-password文件;在/etc/sudoers文件中配置sudo规则。
  2. 配置管理

    • 描述:确保系统配置符合安全最佳实践和标准。
    • 工具:Ansible、Puppet、Chef
    • 措施:使用配置管理工具自动化安全配置和管理。
    • 配置:编写Ansible剧本或Puppet清单,自动部署和管理系统配置。

总结

Linux操作系统的安全机制包括用户身份验证、访问控制、数据加密、日志和审计、安全更新、网络安全、恶意软件防护和安全策略管理。通过实施这些安全机制,可以有效地防范各种安全威胁,提升系统的整体安全性。结合使用适当的安全工具和技术,组织可以大幅提高其Linux操作系统的安全防护能力,保护信息资产和业务连续性。

Linux系统安全分析

Linux系统由于其开放性和广泛应用,在服务器、桌面、嵌入式设备和超级计算机中占有重要地位。虽然Linux系统以其安全性和稳定性著称,但仍然面临各种安全威胁和挑战。进行系统安全分析可以帮助识别潜在的风险,并采取有效的防护措施。以下是Linux系统安全分析的详细内容:

一、常见安全威胁

  1. 恶意软件

    • 描述:包括病毒、蠕虫、特洛伊木马、勒索软件等。
    • 影响:可能导致数据泄露、系统破坏、资源滥用。
  2. 未授权访问

    • 描述:未经授权的用户或程序试图访问系统资源。
    • 影响:可能导致数据泄露和系统破坏。
  3. 权限提升

    • 描述:攻击者利用系统漏洞获取更高权限。
    • 影响:执行未授权操作,进一步渗透系统。
  4. 拒绝服务(DoS/DDoS)攻击

    • 描述:通过耗尽系统资源使系统无法响应正常请求。
    • 影响:导致系统或服务中断。
  5. 缓冲区溢出

    • 描述:攻击者利用程序处理数据的漏洞执行恶意代码。
    • 影响:可能导致系统控制权被获取或系统崩溃。
  6. 社会工程攻击

    • 描述:通过欺骗手段获取系统访问权或敏感信息。
    • 影响:可能导致数据泄露和系统控制权被获取。

二、安全分析方法

  1. 漏洞扫描

    • 工具:Nessus、OpenVAS、Qualys
    • 描述:自动化扫描系统中的已知漏洞,生成修复建议。
    • 应用:定期进行漏洞扫描,识别和修补已知漏洞。
  2. 渗透测试

    • 工具:Metasploit、Kali Linux
    • 描述:模拟攻击者的行为,发现系统中的潜在漏洞和弱点。
    • 应用:进行定期或不定期的渗透测试,评估系统的防护能力。
  3. 日志分析

    • 工具:Splunk、ELK Stack(Elasticsearch, Logstash, Kibana)
    • 描述:分析系统日志和事件,识别异常活动和安全事件。
    • 应用:配置日志收集和分析工具,监控系统活动,及时响应安全事件。
  4. 配置评估

    • 工具:SCAP Compliance Checker、CIS-CAT
    • 描述:评估系统配置是否符合安全最佳实践和标准。
    • 应用:使用配置评估工具检查系统配置,确保符合安全标准。

三、安全机制与措施

  1. 用户身份验证

    • 措施:使用强密码策略、启用多因素认证(MFA)、使用公钥认证。
    • 工具:PAM、Google Authenticator、SSH
    • 配置:在/etc/pam.d配置PAM模块,在/etc/ssh/sshd_config配置SSH认证。
  2. 访问控制

    • 措施:严格设置文件和目录权限,使用ACL、SELinux、AppArmor进行细粒度访问控制。
    • 工具:chmod、chown、setfacl、semanage、aa-status
    • 配置:使用chmodsetfacl设置文件权限,配置SELinux和AppArmor策略。
  3. 数据加密

    • 措施:使用磁盘加密、文件加密和传输加密保护数据的机密性和完整性。
    • 工具:LUKS、GnuPG、OpenSSL
    • 配置:使用cryptsetup配置LUKS,使用gpg加密文件,配置SSL/TLS。
  4. 日志和审计

    • 措施:启用系统日志记录和安全审计,定期审查和分析日志。
    • 工具:syslog、rsyslog、journalctl、Auditd
    • 配置:在/etc/rsyslog.conf配置日志记录,使用Auditd配置审计规则。
  5. 安全更新

    • 措施:定期安装系统和软件的安全更新,修补已知漏洞。
    • 工具:yum、apt-get、dnf
    • 配置:使用yum updateapt-get update && apt-get upgradednf update命令进行更新。
  6. 网络安全

    • 措施:配置防火墙规则,部署入侵检测和防御系统,实施网络分段。
    • 工具:iptables、firewalld、Snort、Suricata
    • 配置:使用iptablesfirewalld配置防火墙规则,部署和配置Snort或Suricata。
  7. 恶意软件防护

    • 措施:安装和配置防病毒软件,定期进行文件完整性检查。
    • 工具:ClamAV、Tripwire、AIDE
    • 配置:使用clamdfreshclam进行病毒扫描,配置Tripwire或AIDE进行文件完整性检查。
  8. 安全策略管理

    • 措施:制定和实施系统安全策略,使用配置管理工具自动化安全配置。
    • 工具:PAM、sudo、Ansible、Puppet、Chef
    • 配置:在/etc/pam.d配置PAM模块,在/etc/sudoers配置sudo规则,使用Ansible、Puppet或Chef管理系统配置。

四、安全防护案例

案例1:防范缓冲区溢出攻击
  1. 措施:使用编译器保护机制,如堆栈保护(Stack Protector)、地址空间布局随机化(ASLR)和数据执行保护(DEP)。
  2. 工具:gcc、execshield、grsecurity
  3. 配置
    • 在编译时启用堆栈保护:gcc -fstack-protector -o program program.c
    • 启用ASLR:在/proc/sys/kernel/randomize_va_space中设置为2
    • 启用DEP:在内核配置中启用NX支持
案例2:防止未授权访问
  1. 措施:使用SELinux强制访问控制策略,限制用户和进程的权限。
  2. 工具:SELinux
  3. 配置
    • 启用SELinux:在/etc/selinux/config中设置SELINUX=enforcing
    • 配置SELinux策略:使用semanage命令管理策略,使用setsebool命令启用或禁用策略布尔值

五、总结

Linux系统安全分析是确保系统免受各种威胁和攻击的重要步骤。通过实施用户身份验证、访问控制、数据加密、日志和审计、安全更新、网络安全、恶意软件防护和安全策略管理等措施,可以有效提升系统的安全性。结合使用适当的安全工具和技术,组织可以大幅提高其Linux操作系统的安全防护能力,保护信息资产和业务连续性。

Linux系统安全增强技术

Linux系统的安全性可以通过实施一系列增强技术来提高。这些技术涉及用户身份验证、访问控制、数据加密、日志和审计、安全更新、网络安全和恶意软件防护等方面。以下是详细的Linux系统安全增强技术:

一、用户身份验证增强技术

  1. 强密码策略

    • 描述:设置复杂密码要求,包括长度、字符类型和定期更换。
    • 工具:PAM(Pluggable Authentication Module)
    • 配置:在/etc/pam.d/common-password中配置pam_cracklib.sopam_pwquality.so模块。
  2. 多因素认证(MFA)

    • 描述:结合多种认证方式,如密码和一次性密码(OTP)。
    • 工具:Google Authenticator、Duo
    • 配置:安装libpam-google-authenticator,并在PAM配置文件中添加相关配置。
  3. 公钥认证

    • 描述:使用公钥和私钥对进行无密码登录。
    • 工具:SSH
    • 配置:生成SSH密钥对,将公钥添加到服务器的~/.ssh/authorized_keys文件中,禁用密码登录(在/etc/ssh/sshd_config中设置PasswordAuthentication no)。

二、访问控制增强技术

  1. 文件系统权限

    • 描述:严格设置文件和目录权限。
    • 工具:chmod、chown、chgrp
    • 配置:使用chmod设置权限,如chmod 755 filename;使用chown更改文件所有者,如chown user:group filename
  2. 访问控制列表(ACL)

    • 描述:提供更细粒度的文件权限控制。
    • 工具:setfacl、getfacl
    • 配置:使用setfacl命令,如setfacl -m u:user:rwx filename
  3. SELinux(安全增强型Linux)

    • 描述:提供强制访问控制(MAC),控制进程和对象的交互。
    • 工具:setenforce、getenforce、semanage
    • 配置:在/etc/selinux/config中设置SELINUX=enforcing,使用setenforce命令启用SELinux。
  4. AppArmor

    • 描述:应用程序级的强制访问控制系统。
    • 工具:aa-status、aa-enforce
    • 配置:启用AppArmor并为关键应用程序配置安全策略,配置文件位于/etc/apparmor.d目录下。

三、数据加密增强技术

  1. 磁盘加密

    • 描述:对磁盘分区进行加密,保护数据的机密性。
    • 工具:LUKS(Linux Unified Key Setup)
    • 配置:使用cryptsetup命令配置LUKS加密,如cryptsetup luksFormat /dev/sda1
  2. 文件加密

    • 描述:对文件进行加密,保护敏感数据。
    • 工具:GnuPG(GPG)
    • 配置:使用gpg命令加密和解密文件,如gpg -c filename
  3. 传输加密

    • 描述:保护数据在网络传输中的机密性和完整性。
    • 工具:OpenSSL、stunnel、OpenSSH
    • 配置:使用SSL/TLS加密网络通信,配置SSL证书和安全通道。

四、日志和审计增强技术

  1. 系统日志

    • 描述:记录系统和应用程序的活动日志。
    • 工具:syslog、rsyslog、journalctl
    • 配置:在/etc/rsyslog.conf文件中配置日志记录,使用journalctl查看日志。
  2. 安全审计

    • 描述:记录和分析系统安全相关的事件。
    • 工具:Auditd
    • 配置:在/etc/audit/auditd.conf文件中配置Auditd,使用auditctl命令管理规则。
  3. 日志监控

    • 描述:实时监控日志,及时发现和响应安全事件。
    • 工具:Logwatch、Logrotate
    • 配置:在/etc/logwatch/conf/logwatch.conf文件中配置Logwatch,在/etc/logrotate.conf文件中配置Logrotate。

五、安全更新增强技术

  1. 软件更新

    • 描述:及时安装系统和软件的安全更新,修补已知漏洞。
    • 工具:yum、apt-get、dnf
    • 配置:使用yum updateapt-get update && apt-get upgradednf update命令进行更新。
  2. 内核更新

    • 描述:确保内核版本包含最新的安全修复。
    • 工具:kexec、grub
    • 配置:使用yum update kernelapt-get install linux-image命令更新内核,配置/etc/grub.conf/etc/default/grub文件。

六、网络安全增强技术

  1. 防火墙

    • 描述:控制进出网络流量,防止未经授权的访问。
    • 工具:iptables、firewalld、ufw
    • 配置:使用iptables配置防火墙规则,或使用firewalldufw进行简化管理。
  2. 入侵检测和防御系统(IDS/IPS)

    • 描述:检测和防止网络攻击和入侵行为。
    • 工具:Snort、Suricata、OSSEC
    • 配置:安装和配置Snort或Suricata规则,使用OSSEC进行主机入侵检测。
  3. 网络分段

    • 描述:将网络划分为多个子网,限制攻击面。
    • 工具:VLAN、子网划分
    • 配置:在网络设备上配置VLAN和子网,使用防火墙规则控制跨子网流量。

七、恶意软件防护增强技术

  1. 防病毒软件

    • 描述:检测和清除系统中的病毒和恶意软件。
    • 工具:ClamAV
    • 配置:安装和配置防病毒软件,定期扫描系统,使用clamdfreshclam进行病毒数据库更新和扫描。
  2. 文件完整性检查

    • 描述:监控文件的完整性,检测篡改行为。
    • 工具:Tripwire、AIDE
    • 配置:使用tripwireaide初始化数据库并进行定期检查,配置文件完整性检查规则。

八、安全策略管理增强技术

  1. 安全策略

    • 描述:制定和实施系统安全策略,确保系统的安全性。
    • 工具:PAM、sudo
    • 配置:在/etc/pam.d目录下配置PAM模块,如common-authcommon-password文件;在/etc/sudoers文件中配置sudo规则。
  2. 配置管理

    • 描述:确保系统配置符合安全最佳实践和标准。
    • 工具:Ansible、Puppet、Chef
    • 配置:编写Ansible剧本或Puppet清单,自动部署和管理系统配置。

总结

通过实施这些Linux系统安全增强技术,可以有效地提升系统的安全性,防范各种安全威胁。结合使用适当的安全工具和技术,组织可以大幅提高其Linux操作系统的安全防护能力,保护信息资产和业务连续性。定期进行安全分析和评估,及时发现和修复漏洞,是保持系统安全的关键。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024前端面试题之Vue3

2024前端面试题之Vue3 在面试具有五年经验的前端工程师时,对于 Vue 3 的掌握程度是一个重要的考核点。本文将提供一系列针对这一级别工程师的 Vue 3 面试题,并附上详细的解析,帮助面试官全面评估候选人的技术实力和项目经验。 一、Vue 3 基础…

vscode-server安装和部分配置

文章目录 前言code-server安装rpm包安装tar.gz安装 vscode部分配置vscode配置函数跳转安装插件 vscode的structurevscode的hierarchy更改颜色主题 前言 vscode确实彳亍,虽然我觉得Clion(c/c语言版的IDEA)更方便,但是毕竟我没钱买license 这里记录一下网…

11410-00SF 同轴连接器

型号简介 11410-00SF是Southwest Microwave的连接器。该连接器的外壳采用优质不锈钢,材质为 CRES ALLOY UNS-S303500,符合 ASTM-A582 标准。首先,不锈钢材料经过锻造加工,形成转接器的基本形状。然后,外壳进行精密的 C…

认字之 刬

chǎn 释义 1.同“铲”,铲子。用以撮取东西的工具。 chn 释义 1.[一刬]一概;一律。 刬袜 [ chǎn w ] 只穿袜子,不穿鞋子走路。 菩萨蛮花明月暗笼轻雾 李煜 刬袜步香阶, 手提金缕鞋。 点绛唇蹴罢秋…

前端调用有道翻译

有道API ,注册用户信息并拿到有道翻译的应用ID和应用密钥 安装 crypto-js npm install crypto-js 调用翻译API import CryptoJS from crypto-js;export const yandex (query: any) > {let appKey ;//应用IDvar salt new Date().getTime();var curtime Mat…

CentOS7忘记root密码无法登陆解决方法

重启服务器,等到如图下所示界面的时候,快速按下键盘的↑或者↓按键,等固定住画面,然后按下e按键 然后按键盘上的↓按键,找到图下所示的linux16开头的那段,然后把光标挪到ro这里 按照图下所示,把…

提供跨平台的视觉安防解决方案,满足不同场景的需求的智慧交通开源了。

智慧交通视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上…

.net6 当连接用户的shell断掉后,dotnet会自动关闭,达不到长期运行的效果。.NET 进程守护

1、/etc/systemd/system/ 目录下创建service文件 如:/etc/systemd/system/testDemoSer.service 2、文件内容示例: [Unit] DescriptiontestDemoSer running on CentOS [Service] WorkingDirectory/usr/project/iis Typesimple Userroot Grouproot Exec…

大气热力学(6)——位温和假相当位温

本篇文章源自我在 2021 年暑假自学大气物理相关知识时手写的笔记,现转化为电子版本以作存档。相较于手写笔记,电子版的部分内容有补充和修改。笔记内容大部分为公式的推导过程。 文章目录 6.1 位温6.2 斜 T-lnP 图(Skew T-lnP)6.2…

JAVA获取重定向地址URL的两种方法

1、使用HttpURLConnection HttpURLConnection conn = (HttpURLConnection) new URL("http://192.168.1.200/6178dc0f47ec4fb8b0f01d87e13ea92d").openConnection();conn.setInstanceFollowRedirects(false

第二课使用域名dns ping通www.baidu.com

需要一台dns服务器,实现域名解析,把对应的网址变为Ip地址。 首先按照之前博客的配置,自动分配给PC1和PC2的IP地址等相关配置。 然后增加一台server交换机连接到交换机上,配置好ip地址,192.168.1.100。在dnsServer中。…

CAD应用程序开发工具CST CAD Navigator 1.4.0.1 正式发布—— 带来了 G 代码生成功能

CST CAD Navigator是一款兼容Windows和Linux的CAD应用程序。在其简单的界面下,有一个可以快速查看2D图纸和3D模型的强大核心。软件可以轻松地导入和导出文件,获取尺寸,并创建截面视图。 下载最新版CST CAD Navigatorhttps://www.evget.com/p…

react小白面试不得不会的20个问题——第二篇

当然,以下是后十个问题的简要回答: React中的受控组件和非受控组件有什么区别? 受控组件是指其值由React组件的state控制的输入表单元素。每当表单元素的值发生变化时,都会触发一个事件处理器,该处理器会更新组件的sta…

AUTOSAR:汽车软件架构的未来

AUTOSAR:汽车软件架构的未来 引言 随着汽车行业向智能化、电动化转型,汽车软件系统变得日益复杂。AUTOSAR(Automotive Open System ARchitecture)作为一个开放的标准化汽车软件架构,为汽车电子系统的开发提供了统一的…

写时拷贝 --全篇来自chatgpt

fork是Unix和类Unix操作系统中用于创建进程的系统调用。fork会创建一个子进程,该子进程几乎是父进程的完全拷贝,包括代码段、数据段、堆和栈。然而,为了提高效率,fork使用了一种叫做写时拷贝(Copy-On-Write, COW&#…

企业四要素认证接口在金融行业发挥的作用

🎉🎉🎉企业四要素认证接口在金融行业发挥的作用 🌟🌟🌟随着金融科技的飞速发展,越来越多的企业开始关注自身的网络安全和数据保护。在这个背景下,企业四要素认证接口应运而生&#…

hnust 1966: 广度优先搜索

hnust 1966: 广度优先搜索 题目描述 输入一个图,用邻接表存储(实际上也可以选择邻接矩阵),并实现BFS操作。 拷贝前面已经实现的代码,主函数必须如下,完成剩下的部分。 int main() { Graph g; CreateUDG(…

ffmpeg 文档 - 未完

写在前面: 笔记的目录是为了总结他人的话, 从而让自己更专注阅读理解与框架思路整理, 忌大而详细。 原文: ffmpeg 文档 1 概要 ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...ffmpeg 是一个通用的 媒体转换器. 读…

ChatGPT对话:python程序模拟操作网页弹出对话框

【编者按】单击一网页中的按钮,弹出对话框网页,再单击其中的“Yes”按钮,对话框关闭,请求并获取新网页。 可能ChatGPT第一次没有正确理解描述问题的含义,再次说明后,程序编写就正确了。 1问:pyt…

全网最全的接口文档速成

文章目录 接口文档内容前言1. 前后端分离开发1.1 介绍1.2 开发流程1.3 前端技术栈 2. Yapi2.1 介绍2.2 使用2.2.1 准备2.2.2 定义接口2.2.3 导出接口文档2.2.4 导入接口文档 3. Swagger3.1 介绍3.2 使用方式3.3 查看接口文档3.4 常用注解3.4.1 问题说明3.4.2 注解介绍3.4.3 注解…