linux - "ls"权限被拒绝,即使我对该目录具有读取权限

标签 linux terminal file-permissions permission-denied

<分区>

虽然我是目录的所有者(pi),但权限仍然被拒绝

pi@raspberrypi:~/Desktop $ sudo ls -al
total 16
d-wx--x--x  3 pi pi 4096 Jan 12 11:30 .
drwxr-xr-x 21 pi pi 4096 Jan 12 11:28 ..
-rw-r--r--  1 pi pi   82 Jan 11 16:13 cmd.txt
drwxr-xr-x  6 pi pi 4096 Jan 12 11:30 openvibe-2.0.0-src
pi@raspberrypi:~/Desktop $ ls
ls: cannot open directory '.': Permission denied

最佳答案

如您在命令输出中所见,您的目录权限设置不正确。

目录权限

文件和目录都具有读、写和执行权限,但它们的含义不同。对于目录,权限有以下含义:

  • r(读取)- 如果存在,可以读取目录的内容。
  • w(写入)- 如果存在,目录的内容可能会更改。这意味着可以创建、重命名和删除文件。这需要 x 标志也被设置。
  • x(执行)- 如果存在,可以通过 cd 将目录设置为当前工作目录。

更多信息可见here .

如何解决问题

在大多数 Linux 发行版上创建新目录时的默认权限是 drwxrwxr-x,这意味着所有者和组都有读取和修改目录内容的权限,以及 cd进入它。任何其他用户都可以阅读内容,但不能添加任何新文件。

为此,您需要执行 chmod 0775 ~/Desktop

关于linux - "ls"权限被拒绝,即使我对该目录具有读取权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48225618/

相关文章:

macos - 列出当前目录下正在运行的进程

php - 将上传文件移动到 IIS 中的另一台服务器的权限被拒绝

c# - 更改文件夹权限

linux - 如何在 Windows 7 上模仿我的 OS X 工作流程?

Java 线程在 Linux 中进入 hibernate 状态

php - 从磁盘执行的重复应用程序。如何从内存中重复执行?

eclipse - cucumber 异常创建目录失败

linux - 如何在 Bash 中将空格分隔的文本转换为行

bash - 将文件从一个文件夹结构移动到另一个文件夹结构

linux - 打开终端窗口并在其中执行自定义命令?