J'utilise JSch pour sftp fichiers. Après le téléchargement, je modifie les autorisations sur le fichier. Mais comment changer le propriétaire? Il n'y a pas de bons exemples que j'ai pu trouver. Je veuxComment utiliser JSch sftp?
chown Administrator:Administrators filename.exe
comme vous le feriez dans linux, mais la commande chown JSch prend un entier, plutôt qu'une chaîne pour le propriétaire: groupe. Quel genre de non-sens est-ce?
est ici une partie de mon code
jSch = new JSch();
if (useKey) jSch.addIdentity(privateKey);
session = jSch.getSession(user, host, port);
if (!useKey) {
session.setPassword(pass);
session.setConfig("PreferredAuthentications", "password");
}
session.setConfig("StrictHostKeyChecking", "no");
session.connect(FTP_TIMEOUT);
channel = session.openChannel("sftp");
sftp = (ChannelSftp) channel;
sftp.connect(FTP_TIMEOUT);
sftp.put(fis,file.getName());
String permissions = "744";
int octal = Integer.parseInt(permissions,8); //jsh uses octal, not decimal
if (file.getName().endsWith(".exe")) { //make exe files executable
sftp.chmod(octal,file.getName());
sftp.chown(this-is-an-integer-not-a-string, file.getName());
}
Le propriétaire est administrateur et c'est correct. Mais le groupe est None et devrait être Administrators. Comment changer le groupe quand il n'y a qu'une entrée pour l'UID? – user3217883