[
https://issues.apache.org/jira/browse/SSHD-1129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17287586#comment-17287586
]
Lyor Goldstein commented on SSHD-1129:
--------------------------------------
{quote}
I stand corrected with Jsch API support for owner and group details. Currently
Jsch API return 0 for UID/GID in line with their documentation
{quote}
Please note that they return +_integer_+ values - which is all one can do in
SFTP v3.
{quote}
Is there a way to know server O/S ?
{quote}
There are a number of +heuristics+ one can use - basically it involves running
some commands and attempting to see if they succeeded and if so parse their
result. E.g. (for Linux) {{uname -a}},
> Posix file owner and group always null
> --------------------------------------
>
> Key: SSHD-1129
> URL: https://issues.apache.org/jira/browse/SSHD-1129
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 2.1.0, 2.6.0
> Reporter: Logan
> Priority: Major
>
> Unable to read remote path owner and group details when connected through
> sftp. Below is code snippet.
>
> {code:java}
> public void singlePath() throws IOException {
> try (SshClient client = SshClient.setUpDefaultClient()) {
> client.start();
> try (ClientSession session = client.connect("user", "host",
> 22).verify(SFTP_SESSION_TIME_OUT_MILLIS).getSession()) {
> session.addPasswordIdentity("xxxx");
> session.auth().verify(SFTP_SESSION_TIME_OUT_MILLIS);
> SftpFileSystemProvider provider = new SftpFileSystemProvider(client);
> String[] paths = new String[] { "/tmp" };
> try (FileSystem fs = provider.newFileSystem(session)) {
> boolean posix = fs.supportedFileAttributeViews().contains("posix");
> for (String path : paths) {
> System.out.println(path + ":");
> Path remotePath = fs.getPath(path);
> if (posix) {
> PosixFileAttributes posixAttrs = Files
> .getFileAttributeView(remotePath, PosixFileAttributeView.class)
> .readAttributes();
> Set<PosixFilePermission> perms = posixAttrs.permissions();
> System.out.println(PosixFilePermissions.toString(perms));
> UserPrincipal user = posixAttrs.owner();
> System.out.println(user == null ? "NULL" : user.getName());
> GroupPrincipal group = posixAttrs.group();
> System.out.println(group == null ? "NULL" : group.getName());
> }
> }
> }
> }
> }
> }
> {code}
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]