diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/util/SftpUploadUtil.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/util/SftpUploadUtil.java index f791762c..b43fdbb3 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/util/SftpUploadUtil.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/util/SftpUploadUtil.java @@ -741,6 +741,11 @@ public class SftpUploadUtil { List copiedFiles = new ArrayList<>(); for (String sourceFilePath : sourceFilePaths) { + String chmodDir = sourceFilePath.substring(0, sourceFilePath.indexOf("default")); + log.info("分配权限路径,{}",chmodDir); + // 切换目录并列出内容用于调试 + sudoChmodORwx(session,chmodDir,password); + // 获取源文件名 String sourceFileName = sourceFilePath.substring(sourceFilePath.lastIndexOf('/') + 1); @@ -865,6 +870,11 @@ public class SftpUploadUtil { channelSftp = (ChannelSftp) channel; + String chmodDir = remoteDir.substring(0, remoteDir.indexOf("default")); + log.info("分配权限路径,{}",chmodDir); + // 切换目录并列出内容用于调试 + sudoChmodORwx(session,chmodDir,password); + // 切换到目标目录 channelSftp.cd(remoteDir); @@ -966,6 +976,11 @@ public class SftpUploadUtil { channelSftp = (ChannelSftp) channel; + String chmodDir = remoteDir.substring(0, remoteDir.indexOf("default")); + log.info("分配权限路径,{}",chmodDir); + // 切换目录并列出内容用于调试 + sudoChmodORwx(session,chmodDir,password); + // 切换到目标目录 channelSftp.cd(remoteDir); @@ -1069,6 +1084,11 @@ public class SftpUploadUtil { session.connect(); System.out.println("SFTP Session 连接成功."); + String chmodDir = remoteDir.substring(0, remoteDir.indexOf("default")); + log.info("分配权限路径,{}",chmodDir); + // 切换目录并列出内容用于调试 + sudoChmodORwx(session,chmodDir,password); + // 开始执行 find 命令 ChannelExec execChannel = (ChannelExec) session.openChannel("exec"); @@ -1196,6 +1216,11 @@ public class SftpUploadUtil { // 遍历远程文件路径并下载 for (String remoteFile : remoteFilePaths) { + String chmodDir = remoteFile.substring(0, remoteFile.indexOf("default")); + log.info("分配权限路径,{}",chmodDir); + // 切换目录并列出内容用于调试 + sudoChmodORwx(session,chmodDir,password); + String fileName = new File(remoteFile).getName(); String localFilePath = localDir + fileName; @@ -1318,6 +1343,10 @@ public class SftpUploadUtil { System.out.println("SFTP Channel 打开成功."); channelSftp = (ChannelSftp) channel; + String chmodDir = remoteFilePath.substring(0, remoteFilePath.indexOf("default")); + log.info("分配权限路径,{}",chmodDir); + // 切换目录并列出内容用于调试 + sudoChmodORwx(session,chmodDir,password); String remoteDir = remoteFilePath.substring(0, remoteFilePath.lastIndexOf('/')); String fileName = remoteFilePath.substring(remoteFilePath.lastIndexOf('/') + 1);