다음 명령을 사용하여 SFTP 서버에 연결한 후 sudo
"admin" 사용자가 필요합니다.
sftp user@hostname
sftp> sudo su - admin
Invalid command.
제가 사용할 수 있는 다른 방법이 있나요 sudo
?
답변1
SFTP를 사용하여 사용자를 변경할 수 없다는 것은 전적으로 사실이 아닙니다.
예를 들어, 일반 OpenSSH 서버에 연결하는 경우에도 SFTP 서버 시작 명령을 사용하여 다음과 같이 높은 권한으로 SFTP 하위 시스템/서버를 실행하도록 지시할 수 있습니다.
sudo /path/to/sftp-server
예를 들어 OpenSSH sftp
클라이언트의 경우 다음을 사용할 수 있습니다.
sftp -s "sudo /path/to/sftp-server" [email protected]
또는 (내) WinSCP SFTP 클라이언트를 사용하여 SFTP 서버 시작 명령을 재정의할 수도 있습니다(둘 다GUI및 스크립트).
그러나 이를 달성하는 데에는 많은 제한이 있습니다. 특히 sudo
비밀번호와 TTY가 필요하지 않을 수도 있습니다. 자세한 내용은 WinSCP FAQ를 참조하세요.로그인한 후 사용자를 어떻게 변경합니까(예: su root)?
답변2
FTP/SFTP는 명령을 실행할 수 있는 쉘이 아닙니다. 파일 전송 및 관련 작업에 사용되는 매우 특수한 프로토콜입니다. 따라서 이 sftp
프로그램은 이 프로토콜의 기능에 대한 명령 인터페이스만 제공할 수 있습니다.
따라서 존재하지 않는 것은 설계상 sftp
불가능합니다.
만약에일반을 통해 동일한 서버에 액세스한 ssh
다음 유사한 명령을 실행 sudo
하고 거기에서 관심 있는 파일에 액세스할 수 있습니다. 예를 들어 해당 파일을 아카이브에 넣고 원래 로그인한 사용자에게 특별히 액세스 권한을 부여한 다음 복사합니다.