문제

자, 설정은 약간 복잡합니다. 나를 비난하지 마세요, 나는 sysadmin이 아닙니다.

상황이 여기 있습니다. 네트워크 외부에서 SSH로 SSH로 할 수있는 기계가 하나 있습니다. 내 개인 키를 사용하여 루트로만 리모컨 만 리모컨 (예, 옳은 소리) 할 수 있습니다. 나는 사용자로 로그인 한 다음 권한을 높이는 것이 더 일반적이라는 것을 알고 있지만이 경우 반대를해야합니다.

문제는 파일 시스템을 원격으로 마운트하기 위해 SSHFS를 사용하고 싶다는 것입니다. 나는 이것을 완벽하게 작동시켰다. 그러나 나는 루트 권한을 반영하기 위해 내가 뭉친 모든 파일을 원하지 않습니다. 먼저 de-elevate (su to us a user 계정)를하고 싶습니다.

SSHF 로이 작업을 수행 할 수있는 방법을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

원격 시스템의 SFTP 서브 시스템 호출을 가로 채기 위해 스크립트를 만들 수 있습니다. 원격 서버 어딘가에 다음 스크립트를 넣으십시오.

#!/bin/sh
exec sudo -u less_privileged_user /usr/lib/openssh/sftp-server

그런 다음 그렇게 전화를 겁니다.

sshfs root@remote:dir mountpoint -o sftp_server=/root/bin/sftp_intercept

그런 다음 원하는 결과를 제공해야합니다.

Sudo가 비밀번호를 제기하지 않고 Sudo를 작동시키기 위해서는 적절한 Sudoers 항목이 필요하며 "CHMOD 755 ~/bin/sftp_intercept"를 잊지 마십시오.

또한/usr/lib/openssh/sftp-server가 실제로 SFTP-Server의 경로인지 확인하십시오. 그렇지 않다면 아마도/usr/lib/sftp-server 일 것입니다.

다른 팁

SSHFS 맨 페이지는 통과를 제안합니다

-o uid=$YOURUID -o gid=$YOURGID

SSHFS 호출은 생성 된 파일의 사용자/그룹을 해당 UID/GID로 설정해야합니다. 원격 시스템에서이를 찾아야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top