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
    • 最新
    • 标签
主页 / ubuntu / 问题 / 555790
Accepted
Srinesh
Srinesh
Asked: 2014-12-03 04:48:07 +0800 CST2014-12-03 04:48:07 +0800 CST 2014-12-03 04:48:07 +0800 CST

Ubuntu在哪里保存文件的用户权限?

  • 772

我不知道为什么,但是 Linux 用户权限在 NTFS 文件系统上不起作用......无论如何,如果一个文件从 Windows 复制到 Ubuntu,Ubuntu 必须给他们一个所有权和用户权限......所以Ubuntu在哪里保存文件的用户权限?问题是,将文件从 Linux 发行版移动到另一个发行版不会更改权限。所以它肯定应该在文件里面。Ubuntu 会重写每个文件吗?

permissions
  • 2 2 个回答
  • 6194 Views

2 个回答

  • Voted
  1. Alaa Ali
    2014-12-03T14:05:03+08:002014-12-03T14:05:03+08:00

    在extLinux 中使用的文件系统中,索引节点用于描述存储的文件。索引节点包含文件的属性及其数据块位置(这些是包含文件实际内容的块)。下面简要说明一个inode中存储的内容:

    索引节点编号 文件访问、修改和更改的时间戳 文件大小 权限 所有者组 数据块位置

    因此,为了回答您的问题,Unix 将文件的权限存储在文件系统中的 inode 中,例如ext4.

    如果想查看一个文件的inode信息,可以使用stat命令:

    $ stat /bin/bash
      File: ‘/bin/bash’
      Size: 635933          Blocks: 624        IO Block: 65536  regular file
    Device: 2e208854h/773883988d    Inode: 281474976901122  Links: 1
    Access: (0755/-rwxr-xr-x)  Uid: ( 1000/    Alaa)   Gid: (  513/    None)
    Access: 2014-10-18 13:45:13.375853300 -0400
    Modify: 2014-10-08 16:54:16.000000000 -0400
    Change: 2014-10-18 13:45:13.438253400 -0400
     Birth: 2014-10-18 13:45:13.375853300 -0400
    

    要指出您的问题:默认情况下,当您将文件从 Linux 发行版复制到另一个发行版时,不会复制权限。发生的情况是复制了数据块(实际内容),但没有复制所有其他属性。因此,例如,如果您将文件从内部硬盘驱动器复制到外部硬盘驱动器(均格式化为ext4),则外部硬盘驱动器上复制数据的所有者成为(我认为)执行复制命令的用户。如果您想保留文件的权限(和其他属性),则必须使用额外的标志,例如命令中的-p(or --preserve) cp:

       -p     same as --preserve=mode,ownership,timestamps
    
       --preserve[=ATTR_LIST]
          preserve   the   specified   attributes   (default:  mode,owner-
          ship,timestamps), if possible  additional  attributes:  context,
          links, xattr, all
    

    mode权限在哪里。使用诸如将-p这些 inode 属性复制到新文件的选项。

    Windows 使用 FAT32 或 NTFS,它们是不理解索引节点的完全不同的文件系统。这就是为什么当您将某些内容从 Linux ( ) 复制ext4到 Windows(NTFS 或 FAT32)时,Windows 会将其自己的属性应用于该文件。

    当您在 Ubuntu 中挂载 NTFS 文件系统时,它会使用umask命令(或选项fmask和dmaskin fstab)设置分区中所有内容的权限。当您将某些内容复制到该挂载的分区时,这些文件将采用umask命令所需的任何内容,并且除非您使用新选项重新挂载整个分区,否则无法更改权限。

    有关详细信息,请在此处阅读 ntfs-3g 的联机帮助页:http: //linux.die.net/man/8/ntfs-3g。

    • 11
  2. Best Answer
    Vladimir Kovalchuk
    2014-12-03T11:49:15+08:002014-12-03T11:49:15+08:00

    Linux 通过名为 NTFS3G 的软件使用 NTFS(如果有兴趣,请谷歌了解详细信息)。Linux 和 NTFS 有完全不同的用户、组和文件权限的概念。这意味着在系统之间转换权限并不简单。

    要将 NTFS 权限调整为 Linux 形式,NTFS3G 有 2 种可能性:(a) 忽略 NTFS 具有的内容并将所有文件和所有目录设置为相同的 umask;或 (b) 如果已完成用户映射,它会尝试猜测 Linux 权限的含义是由特定文件/目录的 NTFS 权限产生的。

    在情况 (a) 中,Linux 提供的权限未存储在任何地方,任何更改它们的尝试都将被忽略。案例 (b) 在 NTFS 中读取和存储文件权限。

    • 5

相关问题

  • 访问启用的虚拟主机时出现 403 禁止错误

  • WINE 用户配置

  • 无法更新雷鸟

  • Ubuntu 在什么许可证下?可以合法修改和分发吗?

  • 文件权限如何工作?文件权限用户和组

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve