在 java 中授予在硬盘驱动器上随处写入的权限

Posted

技术标签:

【中文标题】在 java 中授予在硬盘驱动器上随处写入的权限【英文标题】:Give the permission in java to write on everywhere on the Hard Drive 【发布时间】:2014-09-02 13:58:54 【问题描述】:

我正在使用 nio 包中的类在 java 中开发应用程序。

我想知道如何为程序提供在硬盘驱动器上随处写入的权限。

因为它适用于我的主目录,但不适用于硬盘驱动器上的所有位置。

【问题讨论】:

尽管它没有被授予完全权利是有原因的?尤其是如果您要将其提供给公司/等(除此之外,我想您可以在他们已经拥有管理员权限的情况下允许访问)? 这将取决于运行您的应用程序的任何人的访问权限。你如何控制这是一个依赖于操作系统的问题(而不是 Stack Overflow 的主题)。 How do i programmatically change file permissions?的可能重复 只要你不访问我没有的一个文件夹...呃..有:O 【参考方案1】:

该权限与您的程序无关,而是与谁(哪个帐户)运行该程序相关联,如果它由具有管理员权限的系统帐户执行,则该程序将有权在任何地方执行 I/O 操作。

在 linux 中,您可以向非 root 用户授予 'sudo' 访问权限,您可以检查这是否适合您,但是,这似乎是一个危险的场景,您可能需要研究这个用例并考虑指定根据您的需要,您需要的确切权限

如果你不确定谁在运行这个程序,你可以验证java进程:

    在您的 Windows 环境中搜索 java.exe (http://technet.microsoft.com/en-ie/sysinternals/bb896653.aspx) 在你的linux终端中运行ps fuxa | grep java

【讨论】:

以上是关于在 java 中授予在硬盘驱动器上随处写入的权限的主要内容,如果未能解决你的问题,请参考以下文章

如何授予 apache 使用 NTFS 分区上的目录的权限?

授予 IIS Express 访问 VMWare 中的网络驱动器的权限

如何在 IIS 中授予 Web api 应用程序写入权限?

由于用户权限,将文件存储在缓存中而不是硬盘驱动器中

如何在 Windows 8 上通过 C++ MFC 授予“所有人”写入权限?

授予给定文件夹上的本地应用程序池组的写入权限