Linux 执行权限完全指南


Linux 执行权限完全指南

内容

基础介绍

执行权限(Execute Permission)是指允许用户运行文件的权限。在Linux系统中,每个文件和目录都有三种基本权限:读(Read)、写(Write)和执行(Execute)。执行权限决定了用户是否可以运行一个文件,或者进入一个目录。

  • 概念定义

    • 执行权限决定了用户是否能将文件作为程序运行。
    • 对于目录,执行权限允许用户进入该目录。
  • 工作原理简图

    1
    文件/目录  ---权限--->  用户  ---是否允许执行--->  系统行为
  • 在Linux系统中的作用
    执行权限是Linux权限模型的重要组成部分,它控制着哪些用户可以运行特定的程序或脚本。合理设置执行权限是确保系统安全的关键措施。

常用命令

以下是一些用于管理和查看执行权限的常用命令。

命令 参数 说明
chmod +x, -x 修改文件的执行权限。+x 增加执行权限,-x 取消执行权限。
ls -l 以长格式显示文件信息,包括文件权限。
file 确定文件类型,有助于判断文件是否为可执行文件。
which 查找可执行文件的位置。
./ 用于执行当前目录下的可执行文件。
find -perm 查找具有特定权限的文件。

高危操作警告标识 ⚠️

  • 使用 chmod -R 777 / 可能会导致系统安全风险,务必谨慎操作。

命令使用频率标注

  • chmod:★★★★
  • ls -l:★★★★
  • file:★★★☆
  • which:★★☆☆
  • ./:★★★☆
  • find -perm:★★☆☆

示例代码

示例 1:赋予脚本执行权限

假设我们有一个名为 hello.sh 的Shell脚本,我们需要赋予它执行权限。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 查看当前文件权限
ls -l hello.sh

# 输出示例:
# -rw-r--r-- 1 user user 23 Nov 18 10:00 hello.sh

# 赋予执行权限
chmod +x hello.sh

# 再次查看文件权限
ls -l hello.sh

# 输出示例:
# -rwxr-xr-x 1 user user 23 Nov 18 10:00 hello.sh

# 执行脚本
./hello.sh

步骤解释

  1. ls -l hello.sh:查看 hello.sh 的当前权限。从输出中可以看到,该文件没有执行权限(-rw-r--r--)。
  2. chmod +x hello.sh:使用 chmod 命令为 hello.sh 增加执行权限。
  3. ls -l hello.sh:再次查看 hello.sh 的权限。可以看到,该文件现在具有执行权限(-rwxr-xr-x)。
  4. ./hello.sh:执行该脚本。

预期输出示例

如果 hello.sh 的内容如下:

1
2
#!/bin/bash
echo "Hello, World!"

那么执行 ./hello.sh 将会输出:

1
Hello, World!

示例 2:查找具有特定执行权限的文件

假设我们需要查找系统中所有具有可执行权限的文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查找当前目录下所有具有可执行权限的文件
find . -perm +111 -type f

# 输出示例:
# ./hello.sh
# ./my_script.py

# 查找系统中所有具有可执行权限的目录
find / -perm +111 -type d 2>/dev/null

# 输出示例:
# /usr/bin
# /usr/local/bin

步骤解释

  1. find . -perm +111 -type f:在当前目录及其子目录中查找所有具有可执行权限(至少有一个用户拥有执行权限)的文件。
    • -perm +111:表示至少有一个用户(所有者、群组或其他用户)具有执行权限。
    • -type f:表示查找的是文件。
  2. find / -perm +111 -type d 2>/dev/null:在整个文件系统中查找所有具有可执行权限的目录。
    • -type d:表示查找的是目录。
    • 2>/dev/null:将错误信息重定向到 /dev/null,以避免在终端上显示权限错误。

预期输出示例

上述命令将输出所有符合条件的文件和目录的路径。

Metadata

  • Tags: Linux, 权限管理, 执行权限, chmod, 文件权限, Shell脚本, find
  • Categories: 系统管理, 权限控制, Linux基础

文章作者: 达朵
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 达朵 !
 上一篇
下一篇 
NVIDIA_TESLA_M40_24G的奇妙游戏之旅 NVIDIA_TESLA_M40_24G的奇妙游戏之旅
TESLA计算卡在Windows下有两种模式,Tesla 计算集群(Tesla Compute Cluster,简称 TCC)模式或 Windows 显示驱动模型(Windows Display Driver Model,简称 WDDM)模式。两种模式有不同适用场景。
2024-09-26
  目录