SFTP接続後に管理者にsudoする方法

SFTP接続後に管理者にsudoする方法

次のコマンドを使用してSFTPサーバーに接続した後、sudo「admin」ユーザーが必要です。

sftp user@hostname
sftp> sudo su - admin
Invalid command.

私が使用できる他の方法はありますかsudo

答え1

SFTPを使用してユーザーを変更することはできないということは完全には真実ではありません。

たとえば、通常のOpenSSHサーバーに接続している場合でも、SFTPサーバー起動コマンドを使用して、次のように高い権限でSFTPサブシステム/サーバーを実行するように指示できます。

sudo /path/to/sftp-server

たとえば、OpenSSHsftpクライアントの場合、次のものを使用できます。

sftp -s "sudo /path/to/sftp-server" [email protected]

または、(マイ)WinSCP SFTPクライアントを使用してSFTPサーバー起動コマンドをオーバーライドすることもできます(両方GUIそしてスクリプト)。

しかし、これを達成するには多くの制限があります。特にsudoパスワードとTTYは不要です。詳細については、WinSCP FAQを参照してください。ログイン後にユーザーを変更するにはどうすればよいですか(例:su root)。

答え2

FTP / SFTPは、コマンドを実行できるシェルではありません。ファイル転送や関連タスクに使用される非常に特殊なプロトコルです。したがって、このsftpプログラムはこのプロトコルの機能に対するコマンドインターフェイスのみを提供できます。

したがって、存在しないことは設計上sftp不可能です。

もし一般的には、同じサーバーにアクセスし、同様のコマンドを実行しsshsudoそこから関心のあるファイルにアクセスできます。たとえば、そのファイルをアーカイブに入れ、元のログインユーザーに特別なアクセス権を与えてからコピーします。

関連情報