Linux 是一种开源的、基于 Unix 的操作系统,它因其灵活性、稳定性和高性能而广泛应用于服务器、嵌入式系统、超级计算机、桌面计算等领域。
Linux内核(Linux Kernel)是操作系统的核心,负责与硬件直接交互,为用户空间(应用程序和服务)提供资源管理和系统服务的接口。
Linux内核(Linux Kernel)的主要职责:
CPU、内存、硬盘等)抽象成更易于使用的接口。CPU 时间、内存空间、文件系统和其他资源。API,供用户程序通过系统调用访问硬件或操作系统功能。一般来说,我们用户是没有办法直接跟Linux内核(Linux Kernel)交互的,而是通过 Shell 来间接与Linux内核(Linux Kernel)交互的。
Shell 是用户与内核之间的交互界面,是一种命令解释器(外壳程序)。它将用户输入的命令翻译为内核可以理解的系统调用,进而控制操作系统的行为。
主要作用:
类比于 Windows 操作系统,Windows GUI 就是相当于 Linux 中的 Shell ,我们操作 Windows 并不是直接操作其内核,而是通过图形接口来完成各种操作。
在 Linux 系统中,root 用户和普通用户是两类不同权限级别的用户,分别承担着系统管理和普通操作的角色。
root用户:Linux 系统中的超级管理员,拥有系统中所有资源的最高权限,可以执行任何操作。root 用户的命令提示符是 “#” ,普通用户的命令提示符是 “$”。

root 用户:su输入 root 密码后切换。
注意,这里的切换直接是从当前目录切换到普通用户。

可以看到,root 用户时的目录是 LinuxCode ,而切换到普通用户后目录依然是 LinuxCode 。
root 用户切换到普通用户:exitsu usernamesu - 指令su - 指令在切换用户时就相当于重新登录,不会在原有的目录下切换。
/root/home/usernamesudo普通用户的权限是比较小的,可以执行的操作也较少,但有的时候是需要普通用户执行越权操作的,这个时候就要使用到 sudo 指令。
sudo(Superuser DO)是 Linux 和 Unix 系统中用于以 root 用户或其他特权用户身份执行命令的工具。它允许普通用户在不直接登录 root 用户的情况下临时提升权限,从而减少误操作的风险并提高系统安全性。
正常来说,普通用户想要使用 sudo 还需要将该普通用户加入到白名单中,具体的配置文件在 /etc/sudoers ,我们可以用 vim 打开然后将普通用户加入白名单。
vim /etc/sudoers
(演示环境为 Ubuntu 20.04.6)
使用示例:
sudo apt update系统会提示输入当前用户的密码(而不是 root 用户的密码),然后以 root 权限执行命令。
Linux 中的每个文件和目录的访问者主要由以下三部分组成:
Linux 使用 rwx 模式表示权限:
r(read):读取权限。 w(write):写入权限。 x(execute):执行权限。 每个文件的权限用 10 个字符表示,例如:
-rwxr-xr--第一个字符:文件类型
- 表示普通文件d 表示目录l 表示符号链接b 表示块设备文件(例如硬盘、光驱等)p 表示管道文件c 表示字符设备文件(例如屏幕等串口设备)s 表示套接口文件接下来的 9 个字符:分为三组(用户、用户组、其他人)。
rwx 表示可读、可写、可执行r-x 表示可读、不可写、可执行r-- 表示可读、不可写、不可执行文件的权限还可以使用八进制和二进制表示:
权限 | 八进制 | 二进制 |
|---|---|---|
rwx | 7 | 111 |
rw- | 6 | 110 |
r-w | 5 | 101 |
r– | 4 | 100 |
-wr | 3 | 011 |
-w- | 2 | 010 |
–x | 1 | 001 |
— | 0 | 000 |
使用 ls -l (ll) 指令来查看文件和目录的权限:
ls -l输出示例:
-rw-r--r-- 1 user group 1234 Dec 1 10:00 file.txt-rw-r--r--:权限位。user:文件拥有者。group:文件所属的用户组。
chmod 命令:用于修改文件或目录的权限。chmod u+x file.txt # 给拥有者增加执行权限
chmod g-w file.txt # 去掉用户组的写权限
chmod o+r file.txt # 给其他用户增加读取权限
chmod o=r filename # 设置其他用户的权限为只读(覆盖其他权限)r = 4w = 2x = 1rwx = 7, rw- = 6, r-- = 4 等。chmod 754 file.txt # 设置权限为 rwxr-xr---R 递归修改权限://对目录及其子目录和文件修改权限
chmod -R 755 /path/to/directorychown 命令 和 chgrp:修改文件的拥有者和用户组。chown user file.txt # 更改文件拥有者
chgrp group file.txt # 更改文件用户组
chown user:group file.txt # 更改文件拥有者和用户组-R 递归修改:chown -R user:group /path/to/directoryumask(User File Creation Mode Mask)是一个用于设置文件和目录的默认权限的命令或配置。它定义了新创建的文件或目录的权限屏蔽位,从而控制默认权限的初始值。
Linux 中,新创建的文件和目录的权限基于以下默认值: umask 所屏蔽,最终权限是:
最终权限 = 默认权限 - umaskumask 的表示形式umask 的值通常有4位,但第一位的 0 表示特殊权限,不用理会,所以可将其视为3位八进制数字,每一位分别表示权限屏蔽:
屏蔽规则:
r)。w)。x)。比如,umask 的值为 0002,表示对其他人的写入权限(w)进行屏蔽;0033表示对用户组和其他人的写入权限(w)和执行权限(x)进行屏蔽。
查看当前 umask 值:
umask
设置 umask:
umask 0xxx //将umask码设置成0xxx在 Linux 系统中,目录权限(Directory Permissions)决定了用户对目录的访问和操作能力。目录的权限与文件的权限类似,但其具体作用略有不同,因为目录主要用于组织文件,而不是直接存储内容。
读权限(r,read)
写权限(w,write)
执行权限(x,execute)
粘滞位(Sticky Bit)是 Linux 和 Unix 系统中的一种特殊权限,主要用于目录权限管理。它确保目录内的文件只能由文件的所有者或具有管理员权限的用户删除或修改,即使目录本身的写权限对其他用户开放。
在常规权限设置下,如果一个用户对目录有写权限,就可以删除或修改该目录中的任何文件,而不管这些文件是否属于自己。粘滞位的作用是限制这种行为,提供更精细的权限控制:
root)才能删除或修改文件。/tmp 目录,所有用户都可以在其中创建文件,但不能随意删除其他用户的文件。drwxrwxrwt # 注意最后的 t 表示启用了粘滞位使用 ls -ld 命令可以查看目录的权限状态:
ls -ld directory_name示例输出:

t 表示该目录启用了粘滞位。rwxrwxr- 是基本权限(用户、组、其他用户)。使用 chmod 命令可以设置或移除粘滞位。
//添加粘滞位
chmod +t directory
chmod 1775 directory //粘滞位对应的八进制值是 1000
//移除粘滞位
chmod -t directory
chmod 0775 directoryHave a good day😏
See you next time, guys!😁✨🎞