You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
1.6 KiB
96 lines
1.6 KiB
/*
|
|
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*/
|
|
|
|
package com.sun.security.auth.module;
|
|
|
|
/**
|
|
* <p> This class implementation retrieves and makes available Unix
|
|
* UID/GID/groups information for the current user.
|
|
*
|
|
*/
|
|
@jdk.Exported
|
|
public class UnixSystem {
|
|
|
|
private native void getUnixInfo();
|
|
|
|
protected String username;
|
|
protected long uid;
|
|
protected long gid;
|
|
protected long[] groups;
|
|
|
|
/**
|
|
* Instantiate a <code>UnixSystem</code> and load
|
|
* the native library to access the underlying system information.
|
|
*/
|
|
public UnixSystem() {
|
|
System.loadLibrary("jaas_unix");
|
|
getUnixInfo();
|
|
}
|
|
|
|
/**
|
|
* Get the username for the current Unix user.
|
|
*
|
|
* <p>
|
|
*
|
|
* @return the username for the current Unix user.
|
|
*/
|
|
public String getUsername() {
|
|
return username;
|
|
}
|
|
|
|
/**
|
|
* Get the UID for the current Unix user.
|
|
*
|
|
* <p>
|
|
*
|
|
* @return the UID for the current Unix user.
|
|
*/
|
|
public long getUid() {
|
|
return uid;
|
|
}
|
|
|
|
/**
|
|
* Get the GID for the current Unix user.
|
|
*
|
|
* <p>
|
|
*
|
|
* @return the GID for the current Unix user.
|
|
*/
|
|
public long getGid() {
|
|
return gid;
|
|
}
|
|
|
|
/**
|
|
* Get the supplementary groups for the current Unix user.
|
|
*
|
|
* <p>
|
|
*
|
|
* @return the supplementary groups for the current Unix user.
|
|
*/
|
|
public long[] getGroups() {
|
|
return groups == null ? null : groups.clone();
|
|
}
|
|
}
|