您好我需要通过JAVA更改某些文件的用户/组。我已经看到大致相同的Posix示例evrywhere。
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用户/组。那么有没有办法将用户和组作为字符串传递?
答案 0 :(得分:0)
将它们作为字符串传递的最简单方法是
Runtime.exec(new String[] { "chown", user, filename });
chown
做的是在进行系统调用之前查找id的名称。