文件夹和文件的权限不同
文件的 rwx 权限
对文件而言,权限的控制非常直观:
r - 读权限
作用:允许读取文件的内容。
例子:可以用 cat, less, more, head 等命令查看文件内容。
没有 r 权限:尝试读取文件会得到 Permission denied 错误。
w - 写权限
作用:允许修改或覆盖文件的内容。同时,也允许删除该文件(注意:删除文件的权限实际上由文件所在目录的 w 权限决定)。
例子:可以用 vim, nano 编辑并保存文件,或用 echo "text" > file.txt 重定向覆盖内容。
没有 w 权限:文件将变为只读状态,无法修改其内容。
x - 执行权限
作用:允许将文件作为程序或脚本来执行。
例子:可以直接运行一个二进制程序(如 /usr/bin/ls)或一个脚本(如 ./my_script.sh)。
没有 x 权限:尝试执行文件会得到 Permission denied 错误。即使文件内容是可执行的二进制代码或脚本也不行。
文件权限总结:简单直接,r 管读,w 管写,x 管运行。
文件夹的 rwx 权限
对文件夹(目录)而言,权限的控制更侧重于“访问”和“列举”:
r - 读权限
作用:允许读取目录项(即目录中包含哪些文件和子目录的名称列表)。
例子:可以使用 ls 命令列出目录下的文件和子目录名称。
没有 r 权限:使用 ls 会得到 Permission denied 错误,你无法知道这个目录里有什么。但如果你有 x 权限,你仍然可以访问其中你知道确切名称的文件。
w - 写权限
作用:允许在目录内创建、删除、重命名文件和子目录。
例子:可以用 touch 创建新文件,用 rm 删除文件,用 mv 重命名文件,用 mkdir 创建子目录。
重要:删除一个文件,需要的不是对文件本身的 w 权限,而是对文件父目录的 w 权限。
没有 w 权限:目录内容将被“锁定”,你无法在其中增删改文件名。
x - 执行权限
作用:允许进入该目录,并将其作为当前工作目录。同时,它允许访问目录内文件的元信息(inode信息)。
例子:可以使用 cd 命令进入该目录。可以 stat 目录内的文件。
没有 x 权限:你无法 cd 到这个目录里。即使你知道里面某个文件的完整路径并尝试访问,也会被拒绝。这是文件夹最关键的权限。