AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 428885
Accepted
vfclists
vfclists
Asked: 2012-09-17 06:06:46 +0800 CST2012-09-17 06:06:46 +0800 CST 2012-09-17 06:06:46 +0800 CST

r-- 目录权限应该如何在 Linux 上工作?

  • 772

我创建了一个具有这些权限的目录 - 另一个用户具有

drwxr--r-- 5 用户 用户 4096 2012-09-15 19:30 网站

什么时候以另一个用户身份在目录上执行 ls -l

ls -l /home/用户/站点

这是目录输出。我认为如果没有在该目录上设置 x 位,文件名根本不会显示。

d????????? ? ? ? ?                ? dev.user.com  
-????????? ? ? ? ?                ? user.20120914_082804.sql.gz   
d????????? ? ? ? ?                ? shared  
-????????? ? ? ? ?                ? shared.tar.gz  
-????????? ? ? ? ?                ? www.20120914_083256.tar.gz
d????????? ? ? ? ?                ? www.user.com

这里有一些不一致吗?

linux
  • 2 2 个回答
  • 2973 Views

2 个回答

  • Voted
  1. Best Answer
    DerfK
    2012-09-17T06:15:25+08:002012-09-17T06:15:25+08:00

    x授予您实际进入目录并访问目录中文件的r权限,授予您查看目录内容的权限。

    如果您通过为目录提供x位并删除r位来扭转这种情况,那么用户可以打开shared.tar.gz(假设对文件本身有适当的权限)但前提是他事先知道文件名,因为ls无法列出目录中的文件.

    • 16
  2. RBerteig
    2012-09-17T15:50:59+08:002012-09-17T15:50:59+08:00

    这种对权限的解释可以追溯到早期的 Unix 文件系统。一开始,只有文件。(好吧,还有设备、​​管道,还有……但我想在这里讲一个故事,并不是 100% 严格准确;此外,对于设备、管道和其他一切都是如此,因为一切都是文件,甚至目录)。

    目录只是文件系统用来保存描述目录树及其包含的文件的元数据的文件。目录中的每个文件都由一个简单的数据结构描述,其中包含文件名空间(最初为 14 个字符,IIRC)以及存储数据的索引节点号、文件大小、时间戳和权限字. .每个目录都以名为and的两个条目开头..,第一个指向该目录的索引节点,第二个指向其父目录的索引节点。

    权限字有九位来描述所有者、同一组的其他成员和世界的待遇。每个标记相关用户是否可以读取、写入或执行文件的三位。(您可能会注意到我忽略了 16 位权限字中的另外 5 位。这些最终确实得到了分配的含义,但这与故事的这一部分无关。)(另外,这九位的解释位在早期 Unix 的所有后代中几乎保持不变,包括 Linux。)

    所以,如果一个目录真的只是一种特殊的文件并且由某个目录中的条目描述,那么它显然也有权限位,而这些位可能意味着什么。但问题是,究竟是什么。为这些位分配含义的最简单方法是首先不要更改它们的含义。这基本上就是所做的。

    因此,读取位意味着用户可以读取目录本身。这通常让读者可以访问每个文件数据的文件名、时间戳、大小和索引节点号。具体来说,使用rset 可以ls查看目录中所有文件的名称,但这不足以打开(或以任何方式使用)任何列出的文件。

    执行位表示用户可以“执行”该目录。由于目录很特殊,执行实际上意味着按名称查找条目并使用它。这意味着您可以尝试打开文件(如果x已设置),但如果没有设置,r您将无法发现它们的名称。当然,所请求文件的权限也会影响访问,因此即使x在目录上,您也无法读取文件,除非它也为您提供r.

    写入位意味着用户可以写入目录,但自然只能由文件系统本身进行调节。这意味着w您可以使用 set 在该目录中创建新文件,或编辑现有文件的目录条目。但是没有x设置,你实际上不能使用任何文件,没有r你也看不到它们。

    随着更复杂的用户身份模型在 Unix 及其后代中得到发展,这些相同的基本描述已设法保持显着不变。

    简而言之,r意味着你可以看到它的内容,x意味着你可以使用它,w意味着你甚至可以对目录进行修改。

    • 2

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve