• [2021暑期计划] 暑假每日学嵌入式系统开发Linux驱动程序开发
    第二天学习完成
  • [主机安全] Linux Netfilter本地权限提升漏洞(CVE-2021-22555)风险通告,PoC已公开
    2021年07月16日,国外安全研究员Andy Nguyen公开了CVE-2021-22555 Linux Netfilter 漏洞POC。,攻击者成功利用此漏洞可以完成特权提升及实现docker、kubernetes环境逃逸。1漏洞描述2021年07月16日,国外安全研究员Andy Nguyen公开了CVE-2021-22555 Linux Netfilter 漏洞POC,该漏洞已在Linux内核代码中存在15年,攻击者成功利用此漏洞可以完成特权提升及实现docker、kubernetes环境逃逸。 安全专家建议受影响的用户将Linux Kernel升级到最新版本。 Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。 Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统,一些组织或厂家,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种Linux发行版本。漏洞编号:CVE-2021-22555漏洞等级:高危,CVSS评分:7.8漏洞详情:Linux 内核模块Netfilter中存在一处权限提升漏洞,攻击者可以通过漏洞实现权限提升,以及从docker、kubernetes环境中逃逸。 这个操作一般只限于root用户,但是如果内核编译选项中启用了CONFIG_USER_NS和CONFIG_NET_NS,并且赋予了普通用户高级特权,那么也能用于普通用户的进一步权限提升。 安全研究人员指出,该漏洞Crash信息最早曾在2020年8月17日由syzbot公布在网上,不排除已被在野利用的可能:安全研究人员此前曾在曾在Linux内核处理X.25套接字的代码中发现一存在24年之久的提权漏洞。 参考链接:Linux X.25套接字栈越界读写漏洞详细分析受影响的版本:Linux Kernel版本 >=2.6.19 (9fa492cdc160cd27ce1046cb36f47d3b2b1efa21)安全版本:Linux Kernel版本 5.12(b29c457a6511435960115c0f548c4360d5f4801d),5.10.31, 5.4.113, 4.19.188, 4.14.231, 4.9.267, 4.4.267漏洞修复建议:建议受影响的用户升级linux内核到安全版本。 临时修补建议:根据RedHat的建议,用户可以实施以下操作通过禁用非特权用户执行CLONE_NEWUSER、CLONE_NEWNET,以缓解该漏洞带来的影响。echo 0 > /proc/sys/user/max_user_namespaces参考链接:https://github.com/google/security-research/security/advisories/GHSA-xxx5-8mvq-3528https://nvd.nist.gov/vuln/detail/CVE-2021-22555
  • [2021暑期计划] 暑假每日学嵌入式系统开发Linux驱动程序开发
    第一天学习
  • [MindX SDK] linux-mindstudio+a500运行sdk样例
    前言本文记录通过linux服务器安装安装mindstudio作为sdk开发环境,并在a500运行。环境linux-arm,a500约束根据文档,window的mindstudio不支持远程sdk开发。部署1、linux服务器上安装mindstudio,安装依赖,安装mindstudio。(由于我是通过root安装,所以没有进行安装前准备,用户需根据自身情况进行操作。比如将非root用户abc加入HwHiAiUser组中)。2、在mindstudio中安装mindx sdk软件包。参考此链接。至此,在mindstudio中可以看到开发包的列表以及sdk的列表5、3、参考此链接,在a500安装mindx sdk软件包。(两侧的cann与sdk版本需要一致,这里都需要2.0.1版本的sdk)4、在mindstudio中创建sdk工程,参考mindstudio文档。target architecture选择aarch64,因为a500是arm。编译过程如下,设置环境变量,并编译。这里解释了为什么mindstudio侧也要安装sdk包。5、选择setting->Tools->SSH configure,配置a500的服务器。可以通过test connection测试是否连接成功。6、点击运行,mindstudio自动将工程打包发送至a500侧。执行推理程序。如果a500侧没有安装sdk并正确设置环境变量LD_LIBRARY_PATH,那么可执行文件将显示找不到***.so文件。注意1、由于本文是在开发与运行服务器都是arm架构,因此不涉及交叉编译。如果用户开发侧是x86,参考文档配置交叉编译环境。具体如下安装apt-get install -y g++-aarch64-linux-gnu开发侧为x86,需要安装x86与aarch的sdk包。在这个地方选择编译器为aarch64-linux-gnu2、如果是用自定义用户如abc,需要将abc加入HwHIAiUser组中。总结mindstudio+A500作为运行开发环境使用起来也比较方便。对于购买了500小站的用户,可以通过这种方式进行开发验证。需要特别注意环境变量的问题,当遇到找不到so文件时,尽量确认环境变量是否出问题。另外,mindstudio支持容器中部署,用户也可以尝试在A500容器中安装mindstudio,并让A500自身作为运行环境。
  • [问题求助] 准备安装Presenter Agent时,报错/lib/ld-linux-aarch64.so.1: No such file
    【功能模块】【操作步骤&问题现象】1、安装该文档链接https://gitee.com/ascend/samples/blob/master/cplusplus/environment/presenteragent_install/README_200DK_CN.md,准备安装Presenter Agent之前,执行如下命令:报错如下:2、请问一下这个ld-linux-aarch64.so.1文件是从哪里的得到的,怎样才能把它放在该目录下去,请老师们帮忙解答,感谢!【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [交流分享] 在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or dir
    file在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。分析原因这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符解决方案#sh>vi filename利用如下命令查看文件格式:set ff 或 :set fileformat可以看到如下信息fileformat=dos 或 fileformat=unix利用如下命令修改文件格式:set ff=unix 或 :set fileformat=unix:wq (存盘退出)最后再执行文件#sh>./filename
  • [问题求助] 编译atlasutil时报错:make: aarch64-linux-gnu-g++: Command not found
    【功能模块】【操作步骤&问题现象】1、按照文档https://gitee.com/ascend/samples/blob/master/cplusplus/environment/atlasutil_install/README_200DK_CN.md编译atlasutil时报错:make: aarch64-linux-gnu-g++: Command not foundMakefile:96: recipe for target 'out/arm/obj/src/ffmpeg_decoder.o' failedmake: *** [out/arm/obj/src/ffmpeg_decoder.o] Error 1272、怀疑是自己没有装make: aarch64-linux-gnu-g++,这个有没有下载安装文档可以参考【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] IVS1800 8.1.0如何使用yum以及rpm
    IVS1800 8.1.0如何使用yum以及rpm,执行rpm后报错
  • [问题求助] 鲲鹏ARMopeneuler操作系统制作mysql的rpm包出现的问题
    【功能模块】【操作步骤&问题现象】1、下载rpm工具包 dnf install -y gcc rpm-build rpm-devel rpmlint make python bash coreutils diffutils patch rpmdevtools gdb2、下载mysql src源码包并解压wget http://repo.openeuler.org/openEuler-20.03-LTS/source/Packages/mysql-8.0.17-3.oe1.src.rpmrpm2cpio mysql-8.0.17-3.oe1.src.rpm | cpio -div3、生成rpmbuild目录并将源码包存放到对应目录下rpmdev-setuptreemv mysql-boost-8.0.17.tar.gz /root/rpmbuild/SOURCES/mv 0000-mysql-add-fstack-protector-strong.patch /root/rpmbuild/SOURCES/4、制作SPEC文件并编辑rpmdev-newspec mysql Name:            mysqlVersion:           8.0.17Release:           3License:           GPLv2Summary:           The most popular open source database in the worldURL:               http://www.mysql.com/Source0:           https://cdn.mysql.com/archives/%{name}-8.0/%{name}-boost-%{version}.tar.gz Patch0000:         0000-mysql-add-fstack-protector-strong.patchBuildRequires:     cmake openssl-devel ncurses-devel libtirpc-devel rpcgenRequires:          libatomic >= 1.2.0 libstdc++ >= 7.3.0 ncurses libtirpc openssl %descriptionThe MySQL(TM) software delivers a very fast, multi-threaded, multi-user,and robust SQL (Structured Query Language) database server. MySQL Serveris intended for mission-critical, heavy-load production systems as wellas for embedding into mass-deployed software. MySQL is a trademark ofOracle and/or its affiliates The MySQL software has Dual Licensing, which means you can use the MySQLsoftware free of charge under the GNU General Public License(http://www.gnu.org/licenses/). You can also purchase commercial MySQLlicenses from Oracle and/or its affiliates if you do not wish to be bound by the terms ofthe GPL. See the chapter "Licensing and Support" in the manual forfurther info. %prep%autosetup -n %{name}-%{version} -p1 %buildcmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc \  -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 \  -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 \  -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci \  -DWITH_EMBEDDED_SERVER=1 -DCMAKE_C_COMPILER=/usr/bin/gcc -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost -DFORCE_INSOURCE_BUILD=1%make_build make %{?_smp_mflags} CFLAGS="-O3 -g -mtune=native -m64" -j8 %install%make_install #rm -rf %{buildroot}/usr/lib/debug#rm -rf %{buildroot}/usr/src/debug %cleanrm -rf %{buildroot} %preif ! id %{name} > /dev/null 2>&1;then    useradd -M -s /sbin/nologin %{name}fi %postif [ -f %{_prefix}/local/%{name}/support-files/mysql.server > /dev/null 2>&1 ]  && [ ! -f %{_initddir}/mysql > /dev/null 2>&1 ];then    cp %{_prefix}/local/%{name}/support-files/mysql.server %{_initddir}/mysql    chmod +x %{_initddir}/mysql    chkconfig --level 2345 mysql onfi %preunif [ -f %{_sysconfdir}/my.cnf ];then    mv %{_sysconfdir}/my.cnf %{_sysconfdir}/my.cnf.rpmoldfiif [ -f %{_initddir}/mysql ];then    mv %{_initddir}/mysql %{_initddir}/mysql.rpmoldfi %postunrm -rf %{_prefix}/local/%{name}userdel -r %{name} &>/dev/null %files%attr(755, %{name}, %{name}) %{_prefix}/local/%{name}/*%exclude /usr/src/debug%exclude /usr/lib/debug5、制作rpm包rpmbuild -ba mysql.spec【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] Linux内核
    内核是操作系统的核心。一个操作系统是需要执行一些任务,如请求内存资源、执行计算, 连接网络,等等. Linux内核就负责处理所有这样的请求,就像人的大脑一样。Linux内核从功能上讲具有五大模块化功能:进程管理、内存管理、文件系统管理、设备控制和网络管理。
  • [技术干货] Linux和Ubuntu是什么关系
            Linux和Ubuntu是什么关系?两者有区别吗?对于不了解Linux的朋友来说,可能会说“我使用的是Linux操作系统”。其实Linux这个词本身指标是Linux内核。一般说的Linux系统其实是基于Linux内核的操作系统。而Ubuntu就是以Linux为内核的操作系统之一。————————————————版权声明:本文为CSDN博主「一起学编程」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_42366672/article/details/118250856
  • [行业资讯] Linux 5.13
    Linus Torvalds 发布了Linux 5.13 稳定版,该内核以全新的“Opossums on Parade”代号推出,该代号是上周实施的。新版内核添加了对 M1 芯片的初步支持,不过目前还没有加速图形,依然还有很多内容有待优化和改善。更多详情可访问:https://www.phoronix.com/scan.php?page=article&item=linux-513-features&num=1
  • [交流吐槽] 希望增加 composer 源和 Rocky Linux 源
    希望增加 composer 源和 Rocky Linux 源
  • [技术干货] 全网最全Linux命令总结!!(史上最全,建议收藏)--5
    原帖地址:(1条消息) 全网最全Linux命令总结!!(史上最全,建议收藏)_冰河的专栏-CSDN博客_unzip解压命令VIMVIM是一款功能强大的命令行文本编辑器,在Linux中通过vim命令可以启动vim编辑器。一般使用vim + 目标文件路径 的形式使用vim如果目标文件存在,则vim打开目标文件,如果目标文件不存在,则vim新建并打开该文件:q:退出vim编辑器VIM模式vim拥有三种模式(1)命令模式(常规模式)vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。命名模式常用命令如下:i : 在光标前插入文本;o:在当前行的下面插入新行;dd:删除整行;yy:将当前行的内容放入缓冲区(复制当前行)n+yy :将n行的内容放入缓冲区(复制n行)p:将缓冲区中的文本放入光标后(粘贴)u:撤销上一个操作r:替换当前字符/ 查找关键字(2)插入模式在命令模式下按 " i "键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。(3)ex模式在命令模式中按" : "键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim.ext模式常用命令如下::w :保存当前的修改:q :退出:q! :强制退出,保存修改:x  :保存并退出,相当于:wq:set number 显示行号:! 系统命令  执行一个系统命令并显示结果:sh :切换到命令行,使用ctrl+d切换回vim软件包管理命令(RPM)1、软件包的安装使用RPM命令的安装模式可以将软件包内所有的组件放到系统中的正确路径,安装软件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpmi:作用rpm的安装模式 v: 校验文件信息h: 以#号显示安装进度2、软件包的删除删除模式会将指定软件包的内容全部删除,但并不包括已更改过的配置文件,删除RPM软件包的命令如下:rpm –e  wu-ftpd注意:这里必须使用软件名“wu-ftpd”或”wu-ftpd-2.6.2-8而不是使用当初安装时的软件包名.wu-ftpd-2.6.2-8.i386.rpm3、软件包升级升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级软件包命令如下:rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm  –Uvh:升级参数4、软件包更新更新模式下,rpm命令会检查在命令行中所指定的软件包是否比系统中原有的软件 包更新。如果情况属实,rpm命令会自动更新指定的软件包;反之,若系统中并没有指定软件包的较旧版本,rpm命令并不会安装此软件包。而在升级模式下,不管系统中是否有较旧的版本,rpm命令都会安装指定的软件包。rpm –Fvhwu-ftpd-2.6.2-8.i386.rpm   -Fvh:更新参数5、软件包查询若要获取RPM软件包的相关信息,可以使用查询模式。使用-q参数可查询一个已   安装的软件包的内容rpm  –q wu-ftpd查询软件包所安装的位置:rpm –ql package-namerpm –ql xv (l参数:显示文件列表)
  • [技术干货] 全网最全Linux命令总结!!(史上最全,建议收藏)--4
    原帖地址:(1条消息) 全网最全Linux命令总结!!(史上最全,建议收藏)_冰河的专栏-CSDN博客_unzip解压命令初始化一个文件系统mkfs /dev/hda1 在hda1分区创建一个文件系统mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统fdformat -n /dev/fd0 格式化一个软盘mkswap /dev/hda3 创建一个swap文件系统SWAP文件系统mkswap /dev/hda3 创建一个swap文件系统swapon /dev/hda3 启用一个新的swap文件系统swapon /dev/hda2 /dev/hdb3 启用两个swap分区备份dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份restore -if /tmp/home0.bak 还原一个交互式备份rsync -rogpav --delete /home /tmp 同步两边的目录rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsyncrsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容光盘cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3)cdrecord --scanbus 扫描总线以识别scsi通道dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD网络 - (以太网和WIFI无线)ifconfig eth0 显示一个以太网卡的配置ifup eth0 启用一个 'eth0' 网络设备ifdown eth0 禁用一个 'eth0' 网络设备ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)dhclient eth0 以dhcp模式启用 'eth0'route -n show routing tableroute add -net 0/0 gw IP_Gateway configura default gatewayroute add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'route del 0/0 gw IP_gateway remove static routeecho "1" > /proc/sys/net/ipv4/ip_forward activate ip routinghostname show hostname of systemhost www.example.com lookup hostname to resolve name to ip address and viceversa(1)nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)ip link show show link status of all interfacesmii-tool eth0 show link status of 'eth0'ethtool eth0 show statistics of network card 'eth0'netstat -tup show all active network connections and their PIDnetstat -tupl show all network services listening on the system and their PIDtcpdump tcp port 80 show all HTTP trafficiwlist scan show wireless networksiwconfig eth1 show configuration of a wireless network cardhostname show hostnamehost www.example.com lookup hostname to resolve name to ip address and viceversanslookup www.example.com lookup hostname to resolve name to ip address and viceversawhois www.example.com lookup on Whois database
总条数:966 到第
上滑加载中