【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返回

相关推荐
追光天使27 分钟前
Mac/Linux 快速部署TiDB
linux·macos·tidb
余生H30 分钟前
前端的Python应用指南(一):快速构建 Web 服务器 - Flask vs Node.js 对比
服务器·前端·python
Joyner201834 分钟前
ubuntu批量依赖库拷贝(ldd)
linux·运维·ubuntu
csdn_金手指38 分钟前
Jenkins持续交付web应用,通过docker制作相关的镜像进行发布部署
运维·jenkins
Steven_Mmm38 分钟前
初试Docker
运维·docker·容器
Jason_C_39 分钟前
【NVIDIA】启动ubuntu后显卡驱动丢失
linux·运维·ubuntu
阑梦清川41 分钟前
基于ubuntu的mysql 8.0安装教程
linux·mysql·ubuntu
轨迹H1 小时前
kali设置中文输入法
linux·网络安全·渗透测试·kali
Snow_Dragon_L1 小时前
【MySQL】表操作
linux·数据库·后端·sql·mysql·ubuntu
19999er2 小时前
CDN信息收集(小迪网络安全笔记~
服务器·网络·笔记·安全·web安全