【问题标题】:Java: Set file permissions to several usersJava:为多个用户设置文件权限
【发布时间】:2014-09-11 16:24:53
【问题描述】:

对于我正在编写的一个小应用程序,有一个 file.xml,它是一个数据库。

file.xml 创建时:

File xmlDB = new File(newYear + ".xml");
PrintWriter writer = new PrintWriter(newYear+".xml", "UTF-8");
String header = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><economato> </economato>";
writer.println(header);

然后我可以设置权限

xmlDB.setwReadable()
XML.setWritable()

但我知道,通过这些原语,我可以为所有人设置权限。相反,我如何为 2 或 3 人设置这些权限(给定他们用于登录服务器的用户名?)??

对于 Linux,我需要知道这一点,但对于 Windows,我需要知道这一点。 我应该使用

Runtime.getRuntime().exec("Windows prompt command");

这样做?

谢谢

【问题讨论】:

    标签: java xml file java-io r.java-file


    【解决方案1】:

    您可以向组添加权限,然后将您想要的用户添加到该组中

       //using PosixFilePermission to set file permissions 777
        Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
        //add owners permission
        perms.add(PosixFilePermission.OWNER_READ);
        perms.add(PosixFilePermission.OWNER_WRITE);
        perms.add(PosixFilePermission.OWNER_EXECUTE);
        //add group permissions
        perms.add(PosixFilePermission.GROUP_READ);
        perms.add(PosixFilePermission.GROUP_WRITE);
        perms.add(PosixFilePermission.GROUP_EXECUTE);
        //add others permissions
        perms.add(PosixFilePermission.OTHERS_READ);
        perms.add(PosixFilePermission.OTHERS_WRITE);
        perms.add(PosixFilePermission.OTHERS_EXECUTE);
    
        Files.setPosixFilePermissions(Paths.get("/Users/pankaj/run.sh"), perms);
    

    【讨论】:

    • 非常感谢。不如在 WINDOWS 中做呢?
    • 在windows中你也有一组用户。如果您认为答案记住完成帖子
    猜你喜欢
    • 2018-12-10
    • 2014-07-03
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 2012-06-21
    • 2015-08-01
    • 2019-07-25
    • 2013-05-11
    相关资源
    最近更新 更多