Java 如何在用户需要管理员权限的目录中创建文件夹

Java 如何在用户需要管理员权限的目录中创建文件夹,java,Java,嗨,我需要把一些文件放在某个目录中,作为一个用户,我自己没有权限,但管理员有权限。在这种情况下,我希望我的程序应该要求管理员用户名和密码。如果我输入了正确的管理员用户名和密码,那么我必须能够将文件夹放在该目录中。否则,我应该得到一个错误的用户名和密码的消息框 谢谢 Sunil Kumar Sahoo创建一个文件夹,权限如下:(但您可以选择!) 如果您(和“其他人”)希望能够将文件保存、复制或移动到此文件夹,但看不到此文件夹的内容,请选择此选项: ________________________

嗨,我需要把一些文件放在某个目录中,作为一个用户,我自己没有权限,但管理员有权限。在这种情况下,我希望我的程序应该要求管理员用户名和密码。如果我输入了正确的管理员用户名和密码,那么我必须能够将文件夹放在该目录中。否则,我应该得到一个错误的用户名和密码的消息框

谢谢
Sunil Kumar Sahoo

创建一个文件夹,权限如下:(但您可以选择!)

如果您(和“其他人”)希望能够将文件保存、复制或移动到此文件夹,但看不到此文件夹的内容,请选择此选项:

 ___________________________________
|        | User   | R | W | X | Val |
|--------+--------+---+---+---+-----|
| user   | you    | X | √ | X |  2  |
| group  | admins | √ | √ | √ |  7  |
| others | N/A    | X | √ | X |  2  |
|________|________|___|___|___|_____|
如果您(和“其他人”)对此文件夹没有任何权限,请选择此选项:

 ___________________________________
|        | User   | R | W | X | Val |
|--------+--------+---+---+---+-----|
| user   | you    | X | X | X |  0  |
| group  | admins | √ | √ | √ |  7  |
| others | N/A    | X | X | X |  0  |
|________|________|___|___|___|_____|

这解决了您的问题还是我误解了您的问题?

创建一个文件夹,权限如下:(但您可以选择!)

如果您(和“其他人”)希望能够将文件保存、复制或移动到此文件夹,但看不到此文件夹的内容,请选择此选项:

 ___________________________________
|        | User   | R | W | X | Val |
|--------+--------+---+---+---+-----|
| user   | you    | X | √ | X |  2  |
| group  | admins | √ | √ | √ |  7  |
| others | N/A    | X | √ | X |  2  |
|________|________|___|___|___|_____|
如果您(和“其他人”)对此文件夹没有任何权限,请选择此选项:

 ___________________________________
|        | User   | R | W | X | Val |
|--------+--------+---+---+---+-----|
| user   | you    | X | X | X |  0  |
| group  | admins | √ | √ | √ |  7  |
| others | N/A    | X | X | X |  0  |
|________|________|___|___|___|_____|

这解决了你的问题还是我误解了你的问题?

如果你不能单独用Java来解决这个问题,你可能需要。

如果你不能单独用Java来解决这个问题,你可能需要。

至少在类Unix的操作系统(例如Linux)中,你不可能用Java来解决,即使是用JNI也不行。您需要一个由root拥有的二进制可执行文件(不是shell脚本、java程序等),并在执行位上设置用户ID。这个程序应该(但从技术上讲,不必)检查您是否被允许做您想做的事情(通过询问您的密码或其他什么),并为您执行操作。顺便说一句,
su
sudo
是这样的


另一种可能性,我认为这是Windows中的标准方式,是让一个守护程序运行(由管理员启动,这样它就有了必要的权限),这个守护程序等待命令处理(通过IPC、网络等方式),检查用户是否应该被允许这样做(无论如何这是确定的)并最终处理这些命令。

至少在类似Unix的操作系统(例如Linux)中,您不可能在Java中实现这一点,即使使用JNI也不行。您需要一个由root拥有的二进制可执行文件(不是shell脚本、java程序等),并在执行位上设置用户ID。这个程序应该(但从技术上讲,不必)检查您是否被允许做您想做的事情(通过询问您的密码或其他什么),并为您执行操作。顺便说一句,
su
sudo
是这样的

另一种可能性,我认为这是Windows中的标准方式,是让一个守护程序运行(由管理员启动,这样它就有了必要的权限),这个守护程序等待命令处理(通过IPC、网络等方式),检查用户是否应该被允许这样做(无论如何这是确定的)并最终处理这些命令。

由于Java 1.6具有以下方法:

  • 猜猜他们在干什么。有一个重载方法本身带有
    布尔值
    。如果您已经以管理员身份登录,这应该是一个解决方案(甚至更多;在Windows中,如果您已经不是管理员,则不可能只授予文件管理员权限)。

    因为Java 1.6具有以下方法:


  • 猜猜他们在干什么。有一个重载方法本身带有
    布尔值
    。如果您已经以管理员身份登录,这应该是一个解决方案(甚至更多;在Windows中,如果您已经不是管理员,则不可能只授予文件管理员权限)。

    这在java中是不可能的。未经root/admin许可,用户无法访问根文件系统中的任何文件夹或目录。该文件夹需要管理员访问权限

    这在java中是不可能的。未经root/admin许可,用户无法访问根文件系统中的任何文件夹或目录。该文件夹需要管理员访问权限

    她是否需要通过Java来实现这一点,还是它被错误地标记了?似乎她可以通过
    chmod
    等来实现这一点,但是
    Java
    标记似乎有误导性。JNI是Java本机接口,它是从JavaI wan更改权限等的唯一选项,以便使用javaDown做同样的事情,因为这是不具体的,她需要通过Java来实现还是错误地标记?似乎她可以通过
    chmod
    等来做到这一点,但是
    Java
    标记似乎有误导性。JNI是Java本机接口,它是从JavaI wan更改权限等的唯一选项,以便使用javaDown做同样的事情,因为这不具体。两个表都是相同的。:)哎呀,我复制粘贴了它,但忘了更改第二个。:)两张表是相同的。:)哎呀,我复制粘贴了它,但忘了更改第二个。:)