SFTP 업로드 파일 권한이 거부되었습니다.
로컬 윈도우 PC에서 SFTP를 사용하여 리눅스 머신에 엑셀 파일을 업로드하려고 합니다.
내 코드는 다음과 같습니다.
private void uploadToSftp() {
try
{
ChannelSftp sftpClient = null;
Channel channel = null;
JSch jsch = new JSch();
Session session = jsch.getSession("username", "host", 22);
session.setPassword("password");
Properties config = new Properties();
config.put("StrictHostKeyChecking","no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
sftpClient = (ChannelSftp) channel;
sftpClient.cd("/var/www/folder");
File localFile = new File("C:\\Workspace\\upload-file\\test.xlsx");
sftpClient.put(localFile.getAbsolutePath(),localFile.getName());
sftpClient.disconnect();
channel.disconnect();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
}
하지만 이 애플리케이션을 실행할 때마다 오류가 발생합니다.
3: Permission denied
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)
at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:594)
at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:475)
at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:365)
무엇이 문제가 될 수 있고 어떻게 해결할 수 있는지 아는 사람이 있습니까?
로컬 파일 "C:\Workspace\upload-file\test.xlsx"를 원격 디렉토리, SFTP의 "/var/www/folder"에 추가합니다.
로컬 파일의 읽기, 쓰기, 실행 등에 대한 모든 권한이 있는 것 같습니다("C:\Workspace\upload-file\test.xlsx") 그러나 원격 폴더인 "/var/www/folder"가 "업로드" 작업을 포함한 응용 프로그램의 액세스를 수락하지 않을 수 있습니다.
솔루션:
이 문제를 해결하는 가장 간단한 방법은 모든 사용자에게 업로드 대상 디렉토리("/var/www/folder")에서 모든 작업을 수행할 수 있는 권한을 부여하는 것입니다.업로드 폴더에 대한 권한을 확인하려면 이 Linux 명령을 사용해 보십시오.
ls -ld /var/www/folder
일반 사용자의 /var/www/folder/ 디렉토리에 쓰기 또는 읽기(ex:drwxr-xr-x)가 허용되지 않는 경우 다음 명령을 사용하여 이 폴더에 대한 사용 권한을 부여하십시오.
chmod 777 /var/www/folder
//check permission again.
ls -ld /var/www/folder
대상 폴더의 권한이 충분한지 확인할 수 있으면(drwxrwxrwx) 응용 프로그램을 다시 실행하십시오.
참고: 다른 사용자에게 모든 권한을 부여하는 것은 좋은 방법으로 간주되지 않습니다.테스트를 위해 이 솔루션만 수행하고 나중에 사용자의 사양에 맞게 권한 설정을 변경하십시오.자세한 내용은 이 링크(클릭)를 참조하십시오.
언급URL : https://stackoverflow.com/questions/54637381/sftp-upload-file-permission-denied
'programing' 카테고리의 다른 글
오류: R에서 함수 ...을(를) 찾을 수 없습니다. (0) | 2023.06.28 |
---|---|
ggplot2 객체에 대한 플롯 축의 범위를 추출하려면 어떻게 해야 합니까? (0) | 2023.06.28 |
관리자 및 phpmyadmin과 관련된 UTF-8 입력 문제 (0) | 2023.06.28 |
Electron 및 TypeScript: 'fs'을(를) 확인할 수 없습니다. (0) | 2023.06.28 |
경고: 안전하지 않은 스타일 값 배경색을 검사합니다. (0) | 2023.06.28 |