-1

您好我需要通过 JAVA 更改某些文件的用户/组。我在任何地方都看到过大致相同的 Posix 示例。

  public interface POSIX extends Library {
    public int chmod(String filename, int mode);
    public int chown(String filename, int userId, int groupId);
    }

这样做的问题是你必须知道 PID 和 GID,但要做到这一点,你必须通过运行时来获取它们,所以我真的看不到 chown 方法的使用。我试过这个

  public interface POSIX extends Library {
    public int chmod(String filename, int mode);
    public int chown(String filename, int userId, int groupId);
    public int chown(String filename, String user, String group);
    }

但是在传递用户和组的字符串参数后, ls -l 显示文件的 806789808 806789776 dor 用户/组。那么有没有办法将用户和组作为字符串传递?

4

1 回答 1

0

将它们作为字符串传递的最简单方法是

Runtime.exec(new String[] { "chown", user, filename });

什么chown是在进行系统调用之前查找 id 的名称。

于 2013-11-01T20:34:47.373 回答