【问题标题】:Creating a new file in the root of an ext2 file system在 ext2 文件系统的根目录中创建一个新文件
【发布时间】:2012-09-04 01:20:08
【问题描述】:

我正在为 Android 创建一个应用程序,它使用户能够创建加密的 LUKS 分区,然后将它们挂载到外部存储器上的给定目录。 为了使分区可用,我使用 Busybox mkfs.ext2 命令创建了一个 ext2 文件系统。一旦用户尝试在分区的根目录创建文件/目录,就会出现问题。由于某种原因,无法通过 Java 创建文件,因为“File.mkdirs()”方法失败。但是,可以通过命令行创建此文件。并且此错误仅在分区的根目录下发生(即,如果我通过命令行创建一个文件夹,则可以通过 Java 在该文件夹中创建文件)。另外,如果我创建一个 vfat 文件系统而不是 ext2,我可以创建一个文件。

任何帮助将不胜感激。

哈利

编辑

已修复。我正在以 root 身份安装文件系统

【问题讨论】:

  • 你检查过你的ext2的权限吗?应用程序和命令行有不同的 uid / gid。
  • 干杯。这确实与权限有关。我以 root 身份安装了文件系统!!
  • Harry:你能发布并接受你自己的答案吗?

标签: java android


【解决方案1】:

我对这个问题的最终解决方案是创建一个 vfat 文件系统而不是 ext2,因为 vfat 没有权限等...这对我有用,因为我不需要额外的权限安全性。但是,如果您需要一个 ext2 文件系统,您需要以 root 身份挂载,但希望它可供其他用户使用,我建议您查看 mount ownmask 选项(man mount)。

【讨论】:

    猜你喜欢
    • 2013-02-06
    • 1970-01-01
    • 2011-02-10
    • 2015-01-31
    • 2017-08-26
    • 2012-04-14
    • 2013-08-09
    • 2017-08-20
    • 2015-07-07
    相关资源
    最近更新 更多