在linux系统中,shell命令及其运行原理以及linux权限管理是理解和使用linux系统的关键。以下是对这些内容的详细介绍。
1. Shell命令以及运行原理
Linux系统的核心是内核(kernel),用户无法直接与内核交互,而是通过Shell这一命令行解释器(command interpreter)与内核通信。Shell的作用类似于Windows中的图形用户界面(GUI),它将用户的命令翻译给内核处理,并将内核的处理结果反馈给用户。
为什么不能直接使用内核?
从技术角度讲,内核是操作系统的核心部分,负责管理系统资源和提供硬件抽象。如果允许用户直接操作内核,可能会导致系统的不稳定甚至崩溃。Shell作为一个中间层,提供了安全、可控的用户与内核之间的交互方式。
Shell的功能:
- 将用户的命令翻译给内核处理。
- 将内核的处理结果翻译给用户。
Shell的运行原理:
Shell本身是一个运行的程序(进程),在系统启动时就存在。当用户通过xshell等工具登录时,操作系统会为当前用户启动一个新的Shell实例,通常是bash。

2. Linux权限的概念
Linux系统中存在两种类型的用户:超级用户(root)和普通用户。
超级用户(root):
- 可以在Linux系统中执行任何操作,不受限制。
- 命令提示符为“#”。
普通用户:
- 受系统权限限制,不能执行所有操作。
- 命令提示符为“$”。
用户命令:
su [用户名]
功能:
- 切换用户。
- 从root用户切换到普通用户
user_name,使用su user_name。 - 从普通用户切换到root用户,使用
su root或su -,此时需要输入root用户的密码。
演示:
一个功能强大的B2B与B2C的购物平台,除了原本OSC功能外,增加更新的功能: 一、 取消了register_globals必须开启的限制 二、 將HTML程式碼与PHP程式碼完全分离,採用了smarty 樣板引擎 三、 每支档案includes所需函数与资料库连结,使的网页显示速度明显提升 四、 检视、购买商品群组权限设定 五、 十八岁以下禁购机制 六、 折价券购物抵扣机制 七、 礼券购物机制
从普通用户切换到root用户,再从root用户切换回普通用户。

用户切换规则:
- 普通用户切换到root用户,需要输入root密码。
- root用户切换到普通用户不需要密码。
- 普通用户切换到另一个普通用户,需要对方的密码。
sudo提权:
sudo 加其他指令
功能:
- 暂时拥有root权限。
- 当root用户将普通用户加入“信任”名单后,普通用户可以使用
sudo提权。
演示:
利用root权限修改文件的所有者为root。

3. Linux权限管理
3.1 文件访问者的分类
- 文件和文件目录的所有者:
u—user - 文件和文件目录的所有者所在的组的用户:
g—Group - 其他用户:
o—Other
3.2 文件类型和访问权限

文件类型:
-
d:文件夹 -
-:普通文件 -
l:软连接(类似Windows的快捷方式) -
b:块设备文件(例如硬盘、光驱等) -
p:管道文件 -
c:字符设备文件(例如屏幕等串口设备) -
s:套接口文件
基本权限:
-
r:read,对文件来说,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。 -
w:write,对文件来说,具有修改文件内容的权限;对目录来说,具有删除移动目录文件的权限。 -
x:execute,对文件来说,具有执行文件的权限;对目录来说,具有进入目录的权限。 -
-:表示不具有该项权限。

3.3 文件访问权限的相关设置方法
3.3.1 chmod指令
chmod [参数]权限 文件名
功能:
- 设置文件的访问权限。
常用选项:
-
+:向权限范围增加权限代号所表示的权限 -
-:向权限范围取消权限代号所表示的权限 -
=:向权限范围赋予权限代号所表示的权限 -
u:拥有者 -
g:所属组 -
o:其他用户 -
a:所有用户
演示:

方法2:三位8进制数字。
| 权限符号 | 八进制 | 二进制 |
|---|---|---|
| r-- | 4 | 100 |
| -w- | 2 | 010 |
| --x | 1 | 001 |
| rw- | 6 | 110 |
| r-x | 5 | 101 |
| -wx | 3 | 011 |
| rwx | 7 | 111 |
| --- | 0 | 000 |
演示:
先把file.txt赋予所有权限,再恢复原样。

3.3.2 chown指令
chown [参数]用户名 文件名
功能:
- 修改文件的拥有者。
演示:
将文件所有者从root改为yui。










