sudo가 필요한 원격 위치의 scp는 권한 거부 오류를 제공합니다.


0

sudo 할 수있는 관리자로 로그인 할 우분투 서버가 있습니다. 이 서버에서 dir / opt / myapp를 작성했습니다. 그렇지 않으면 sudo mkdir을 수행해야했습니다. 그렇지 않으면 작동하지 않습니다. 이제 내 데스크탑에서 다음을 수행하고 싶습니다.

scp myfile admin@example.com : / opt / myapp

하지만 권한이 거부되었습니다. 하지만 만약 내가

scp myfile admin@example.com :

잘 작동하고 myfile은 / home / admin 디렉토리에 있습니다.

이 문제를 해결하는 방법?


example.comas로 ssh하면 admin파일을 cp로 할 수 /opt/myapp있습니까? <edit> 당신이 할 수 없기를 기대하기 때문에, 그것은 같은 작업 scp을 수행하려고 하는 것과 같습니다 admin.
payo

답변:


1

우선 ... 어쩌면 이것은 좋은 생각이 아닙니다. 권한이이 방법으로 설정되어 사람들이 정당한 이유 때문에 수행하려는 작업을 정확하게 수행하지 못하게 할 수 있습니다. 즉, 당신은 당신의 운명의 선장입니다.

해당 디렉토리에 쓸 수있는 사람을 찾으십시오. 하다:

ls -ld /opt/myapp

그리고 당신은 다음과 같은 것을 얻을 것입니다 :

drwxr-xr-x 6 myapp_user myapp_group 55 Sep 10  2016 /opt/myapp

잠재적 옵션 1 : 해당 앱용으로 구축 된 사용자 계정으로 전환합니다. 예 :

scp myfile myapp_user@example.com:/opt/myapp

그러나 해당 사용자의 비밀번호가 없을 것입니다. 잠재적으로 키로 인증하여 해결할 수 있습니다. https://www.techrepublic.com/article/how-to-use-secure-copy-with-ssh-key-authentication/

잠재적 옵션 2 : dir '/ opt / myapp'의 권한을 774 (또는 770)로 변경하십시오.

chmod 774 /opt/myapp

그런 다음 admin 사용자를 쓰기 권한이있는 그룹의 구성원으로 만드십시오. https://www.howtogeek.com/50787/add-a-user-to-a-group-or-second-group-on-linux/ 이것은 차단되지 않아 문제가 생길 수 있으므로 좋지 않습니다. -파일 쓰기 (진행 상황에 따라 다름)


LS -ld / 옵션 / myapp와 루트 루트 (root 사용자 및 그룹 루트) 제공
user61766

따라서이 정보를 액면가로 가져 가면 관리자가 아닌 루트로 연결해야합니다. 우분투 대신 Centos를 사용하므로 우분투가 관리자 계정의 권한으로 흥미로운 일을하고있을 수 있습니다. 그래도 루트로 연결하십시오 ... 해당 시스템에서 허용합니다. (보안상의 이유로이를 허용하지 않도록 상자를 의도적으로 구성했습니다.)
Art Hill

옵션 3을 지적 할 수 있습니다.이 방법은 복잡하므로 Rube Goldberg 시스템을 만들어야합니다. 에이. 홈 디렉토리에 admin의 하위 디렉토리를 작성하십시오. '/ home / admin / myapp_inbox'와 같은 것 b. 'a'단계에서 dir의 파일을 검사하는 스크립트를 작성하십시오. 파일을 찾으면 sudo를 사용하여 대상 디렉토리 '/ opt / myapp'로 이동하십시오
Art Hill

이 스크립트의 정확한 텍스트는 여기에 포함하기에는 너무 복잡합니다. 씨. 'b'단계의 스크립트를 안전한 위치에 두십시오. '/ home / admin / bin'과 같은 디렉토리를 생성하는 것이 좋습니다. 디. cron 작업을 추가하여 정기적으로 스크립트를 실행하십시오. askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
Art Hill

0

두 단계 중 하나를 수행하십시오.

  1. 서버의 자신의 homedir에 파일을 복사하십시오.
  2. 서버에 로그인하고 다음을 사용하여 파일을 이동하십시오. sudo

당신이 아무것도 할 수없는 경우 또는 sudo암호를 입력하지 않고, 당신은 창조적 일 수있다 cat, tee및 리디렉션 :

cat myfile | ssh admin@example.com 'sudo tee /opt/myapp/myfile > /dev/null'

파일 이름을 두 번 지정해야합니다. 그러나 권장하지는 않지만, 실패하여 원치 않는 결과를 초래할 수있는 많은 것들이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.