【Linux复习】指令

文章目录

1.>

echo "hello" > file.txt //没有文件 创建新文件 覆盖式写入

2. cat

cat file.txt

打开file.txt文件,读取其内容,并将这些内容输出到标准输出。

类似于C语言中fopen函数 打开文件后可以使用fread等函数操作

cat < file.txt

将文件file.txt的内容作为cat命令的标准输入(stdin)。

将原来指向键盘输入缓冲区的指针重定向到文件(没有执行打开文件的操作)

3.系统命令

这条命令 uname -a 的输出提供了您当前Linux系统的详细信息。具体来说,这条输出信息说明了以下几点:

  • 系统名称Linux,表明这是一个Linux系统。
  • 主机名hcss-ecs-79af,服务器名。
  • 内核版本5.4.0-170-generic,内核版本。Linux内核是操作系统的核心,管理着硬件和软件资源。这里的版本号5.4.0是主版本号,-170可能是针对Ubuntu系统进行的特定修订或补丁版本,而generic表明这是一个适用于大多数硬件配置的通用内核版本。
  • 内核编译日期和时间#188-Ubuntu SMP Wed Jan 10 09:51:01 UTC 2024,这部分信息提供了内核编译的日期(2024年1月10日,星期三,UTC时间)和编译编号(#188),以及这是由Ubuntu团队(SMP表示对称多处理,即支持多CPU)编译的版本。
  • 硬件架构x86_64,这表示您的系统是基于x86-64架构的,也就是常说的64位处理器架构。x86_64x86架构的64位扩展,也称为AMD64或Intel 64。
  • GNU/Linux:最后,这表示您的系统遵循GNU项目(GNU's Not Unix)的开源原则和理念,并运行在Linux内核之上。GNU项目提供了许多核心工具和库,这些工具和库与Linux内核一起构成了现代Linux系统的基础。

总之,这条命令的输出让您了解了您当前Linux系统的基本情况和配置。

bash和shell和kernel

  • Kernel :操作系统的核心,负责管理硬件资源和提供核心服务
  • Shell:命令行解释器,提供了一个用户与操作系统交互的界面。
  • Bash:一种广泛使用的shell,提供了丰富的命令集和编程功能,是Linux系统中默认的shell之一。

权限只被认证一次

"权限只被认证一次"可以理解为每次用户尝试对文件或目录进行访问时,系统都会独立地验证用户的权限。

粘滞位引入

这个场景涉及到了Linux系统中的文件权限和sudo命令的使用,以及它们如何影响文件和目录的操作。我会尽量用通俗易懂的方式来解释。

前提知识

  1. 文件权限:在Linux中,每个文件或目录都有三组权限,分别对应文件的所有者(owner)、所属组(group)和其他人(others)。每组权限包括读(r)、写(w)和执行(x)。

  2. sudo命令:sudo命令允许普通用户以超级用户(通常是root)的身份执行命令。这意味着,即使一个操作通常需要管理员权限,普通用户也可以通过sudo来执行它。

场景解释

在这个场景中,有一个目录和一个文件,文件的初始权限设置为rw- r-- r--(即所有者可以读写,所属组可以读,其他人可以读)。现在,有一个普通用户和一个root用户(或通过sudo获得root权限的普通用户)在这个目录下。

为什么普通用户(无w权限)可以删除文件?
  • 当普通用户尝试删除文件时,他们实际上是在尝试修改目录(即从中移除一个条目)。这个操作要求用户对目录有写权限(w),而不是对文件本身。
  • 在这个场景中,尽管普通用户对文件没有写权限,但他们可能(如果目录权限允许)对目录有写权限。因此,他们可以删除目录中的文件。
为什么普通用户通过sudo设置文件权限为000后仍能删除文件?
  • 使用sudo命令后,普通用户以root身份执行命令。root用户拥有对系统的完全访问权限,包括对所有文件和目录的读写执行权限。
  • 因此,即使文件权限被设置为000(即所有人都没有读写执行权限),root用户(或通过sudo的普通用户)仍然可以执行任何操作,包括删除文件。

结论

这个场景的关键点在于理解文件权限和目录权限的区别,以及sudo命令如何允许用户以更高的权限执行操作。普通用户能够删除文件,通常是因为他们对包含该文件的目录有写权限,而不是因为他们对文件本身有写权限。而使用sudo命令后,用户可以执行任何操作,因为sudo赋予了他们root权限。

粘滞位是干什么的?粘滞位只能给目录设置

实现这么一个场景

  1. 多个用户共享一个目录 可以在这个目录下rwx
  2. 但是自己只能删自己 不能删除别人的文件

1. 保护文件免受非授权删除或修改

  • 当一个目录被设置了粘滞位后,只有【文件的所有者、目录的所有者或超级用户(root)】才能删除或重命名该目录下的文件。这有效地防止了其他用户(即使他们具有对该目录的写权限)误删除或篡改不属于他们的文件。

2. 应用于公共目录

  • 粘滞位常被应用于如/tmp这样的公共目录。/tmp目录通常用于存储临时文件,这些文件可能由多个用户创建。通过设置粘滞位,可以确保每个用户只能删除或修改自己创建的文件,从而维护了公共目录的秩序和安全性。

3. 提高系统安全性

  • 通过限制非授权用户对文件的操作,粘滞位有助于减少系统因误操作或恶意攻击而遭受的损害。这对于保护敏感数据和系统稳定性至关重要。

4. 适用于网络共享环境

  • 在网络共享环境中,粘滞位同样可以发挥作用。在共享文件服务器上的共享目录中设置粘滞位,可以防止非目录所有者的用户对文件进行修改,从而保护共享资源的安全性和完整性。

5. 使用chmod命令设置

  • 在Linux中,可以使用chmod命令来设置目录的粘滞位。具体命令为chmod +t directory,其中directory表示要设置粘滞位的目录名称或路径。执行该命令后,该目录的权限模式将包含粘滞位标志(通常显示为tT)。

6. 注意事项

  • 粘滞位只对目录起作用,对普通文件没有影响。
  • 粘滞位只能保护目录中的文件和子目录不被删除或重命名,但不能阻止其他用户往该目录中添加新的文件或子目录。
  • 如果一个目录被设置了粘滞位,但是该目录的所有者或超级用户没有相应的权限,那么该目录下的文件和子目录仍然可能被删除或重命名。

vim加注释

批量添加注释: 命令行模式下 进入块可视模式 选中想添加注释语句的首字符 输入大写i 输入// 按esc返回

相关推荐
一个网络学徒5 分钟前
MGRE综合实验
运维·服务器·网络
守望时空3310 分钟前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈14 分钟前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
墨痕砚白24 分钟前
VMware Workstation Pro虚拟机的下载和安装图文保姆级教程(附下载链接)
服务器·windows·vmware·虚拟机
白鹭1 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
java叶新东老师1 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN2 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛2 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
angushine2 小时前
鲲鹏服务器logstash采集nginx日志
运维·服务器·nginx