Linux 所有命令无法使用的解决方法
Created|Updated
|Word Count:72|Reading Time:1mins|Post Views:
这是由于环境变量设置出错导致的 解决方法: 直接在命令行中输入以下代码,然后回车
1 | export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
然后输入如下代码, 把错误的环境变量修正:
1 | sudo vim /etc/profile |
Related Articles
2020-06-10
永恒之蓝漏洞的简单利用
前言: 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。 详见Microsoft 安全公告:MS17-010 :https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2017/ms17-010 恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。 本文主要利用“永恒之蓝”漏洞(Microsoft 安全公告:MS17-010)对目标靶机进行攻击并拿到远程执行的权限,并通过获取远程靶机上的文件的例子讲解此漏洞的危害,提高大家的安全意识。 本文为...
2020-11-13
详解管理root用户权限的sudo服务程序
sudo 命令允许特权用户以 root 用户身份运行全部或部分命令,但是理解其能做什么和不能做什么很有帮助。 在你想要使用超级权限临时运行一条命令时,sudo 命令非常方便,但是当它不能如你期望的工作时,你也会遇到一些麻烦。比如说你想在某些日志文件结尾添加一些重要的信息,你可能会尝试这样做: 12$ echo "Important note" >> /var/log/somelog-bash: /var/log/somelog: Permission denied 好吧,看起来你似乎需要一些额外的特权。一般来说,你不能使用你的用户账号向系统日志中写入东西。我们使用 sudo 再尝试一次吧。 123$ sudo !!sudo echo "Important note" >> /var/log/somelog-bash: /var/log/somelog: Permission denied 嗯,它还是没有啥反应。我们来试点不同的吧。 12$ sudo 'echo "Important note" >> /var/log/somelog's...
2020-11-13
Linux 下将校园网客户端锐捷制作成服务并开机启动
1.下载锐捷,解压后给rjsupplicant.sh 添加可执行权限 2.创建一个 systemd 启动脚本并将其放在 /etc/systemd/system/ 目录中,内容如下 1234567891011121314151617# ruijie.service[Unit]Description=Run ruijieAfter=network.target[Service]ExecStart=/home/rjsupplicant/rjsupplicant.sh -u stuxxxx -p passwordxxxx -d 0 ExecStop=/home/rjsupplicant/rjsupplicant.sh -qExecReload=/home/rjsupplicant/rjsupplicant.sh -u stuxxxx -p passwordxxxx -d 0Restart=on-failureKillMode=control-group[Install]WantedBy=multi-user.target 3.运行以下命令启动服务 1234systemctl daem...
2020-11-13
Linux内存管理
前言: 在 32 位的系统上,线性地址空间为 4GB,其中用户进程占有 3GB 线性地址空间,内核占有 1GB 线性地址空间。由于虚拟内存的引入,使的每个进程都可拥有 3GB 的虚拟内存。 用户进程的虚拟地址空间包含若干区域,这些区域的分布方式因体系结构的差异而不同,但所有的方式都包含下列成分: (1) 代码段:可执行文件的二进制代码 (2) 数据段:存储全局变量 (3) 栈:用于保存局部变量和实现函数调用 (4) 环境变量和命令行参数 (5) 程序使用的动态库的代码 (6) 用于映射文件内容的区域为便于描述,系统中进程的虚拟内存空间被划分为若干不同的区域,每个区域都有其相关的属性和用途,一个合法的地址总是落在某个区域当中的,这些区域也不会重叠。在 Linux 内核中,这样的区域被称为虚拟内存区域(virtual memory areas,VMA)。一个 VMA 是一块连续的线性地址空间的抽象,它拥有自身的权限(可读,可写,可执行等) ,对进程而言,VMA 其实是虚拟空间的内存块,一个进程的所有资源由多个内存块组成。 每一个虚拟内存区域都由一个相关的 struct vm_are...
2020-03-03
Linux内核的编译
前言: 常见 Linux 内核编译有两种方式,一是直接在 Linux 系统上编译得到二进制文件,并对原有 Linux 内核进行替换,即更换 Linux 内核,此方法可能因新内核有 bug 导致系统奔溃,且难以返回原版本内核而不得不重装;第二种方法则是在模拟器中运行新的 Linux 内核,以避免对系统内核的修改。 BusyBox 是一个集成了三百多个最常用 Linux 命令和工具的软件,因为单独的 Linux 内核无任何用于用户交互的 UI,所以需要通过其它工具与新编译的Linux 内核交互。 QEMU 是以 GPL 许可证分发源码的模拟处理器,可用于模拟常见的硬件平台,常用于在 Linux 系统中建立虚拟机。 本文在阿里云 Ubuntu 18.04 64 位操作系统环境下编译 ARM Linux 内核。过程中主要是用交叉编译工具链 gcc-arm-linux-gnueabi 编译系统源码,并使用 QEMU 软件仿真硬件平台测试对象系统。 **建议使用 root 用户操作 ** 本文所使用的环境: 操作系统:4.15.0-96-generic #97-Ubuntu SMP ...
2020-06-10
编写我的第一个Linux 内核模块“hello_module
前言: Linux 内 核 模 块 全 称 为 “ 动 态 可 加 载 内 核 模 块 (Loadable Kernel Module,LKM)”,是系统内核向外部提供的功能插口。作为宏内核结构,Linux 内核具有效率高的特点,但也有可扩展性和可维护性相对较差的不足,Linux 提供模块机制正是弥补这一缺陷。 模块是具有独立功能的程序,它可以被单独编译,但不能独立运行。模块在运行时被链接到内核作为内核的一部分在内核空间运行,这与运行在用户控件的进程是不同的。模块通常有一组函数和数据结构组成,用来实现某种文件系统、驱动程序或其它内核上层功能。 本文将介绍如何编写一个简单的内核模块以及如何传递参数给此模块。 一、 编写一个简单的内核模块1.编写模块程序编写如下简单代码,本示例中代码文件命名“hello_module.c”。 123456789101112131415161718192021//hello_module.c#include <linux/module.h>#include <linux/kernel.h>#include &l...
