somefile.jar
로컬 컴퓨터(cygwin)에서 원격 컴퓨터로 파일을 복사 해야 합니다 server.local
. sudoer corp
에 SSH 로그인이 있습니다 . 다른 사용자가 소유한 폴더 에 파일을 배치해야 합니다 .server.local
server.local
/opt/alice/libs/
[[email protected] ~]$ ls -ld /opt/alice/libs
drwxr-xr-x 2 alice alice 12288 Apr 13 11:09 /opt/alice/libs
권한이 부족하여 선택한 디렉터리에 파일을 직접 업로드할 수 없습니다. 그래서 제 복사 방법은 몇 /tmp/
단계 밖에 안 돼요server.local
$ scp ./somefile.jar [email protected]/tmp/
$ ssh [email protected]
Last login: Thu Apr 12 18:05:41 2018 from 192.168.87.34
[[email protected] ~]$ sudo chown alice:alice /tmp/somefile.jar
[[email protected] ~]$ sudo -u alice mv /tmp/somefile.jar /opt/alice/libs/
업로드를 수행하는 더 짧은 방법이 있습니까?
내 목적을 달성할 수 있는 도구가 존재하지 않는다면 *.sh
이 모든 작업을 수행하는 스크립트를 만들 수도 있을까요?
답변1
sudo에 비밀번호가 필요하지 않다고 가정하고 간단한 스크립트를 만들고 싶다면 데이터를 파이프할 수 있습니다.
tar cf - ./somefile.jar |
ssh -t [email protected] sudo -u alice tar xf - -C /opt/alice/libs/
-C
파일을 추출하기 전에 디렉토리를 변경하십시오. 귀하의 tar에 이것이 없으면 먼저 명시적인 것을 추가하십시오 cd /opt/alice/libs/
.
답변2
이것이 유일한 방법일 가능성이 높습니다.