Midnight Commanderとsftpでsudoコマンドを実行する

Midnight Commanderとsftpでsudoコマンドを実行する

Midnight Commanderを使用してUbuntu VPSにsftpを使用します。

VPSでは、ファイルのコピー/移動/削除などの重要なタスクを実行するにはsudoが必要です。たとえば、コピーのために押すことはできませんF5(次にコピーを除く~)。

sudo必要に応じて、MCはユーザーに権限の昇格/転送を要求できますか?

ベストアンサー1

はい、可能です。mc内部事情はわかりませんが、通常はsftp-serverリモートホストに電話する必要がありますsudo。クライアントまたはサーバーでこれを行うには2つの方法があります。クライアント側では、mc呼び出し方法を知り、呼び出しsftp方法を変更する必要があります。mcサーバー上で簡単です。でForceCommand確認できます。https://unix.stackexchange.com/a/637624/330987

クライアントの変更(sudoリモートホストに設定)

ちなみに、RemoteCommandオプションは使用できず、sftpエラーのために失敗しますCannot execute command-line and remote command.sftp呼び出しssh ... -oRemoteCommand="/usr/bin/sudo /usr/libexec/sftp-server" ... -- localhost sftpSFTPバックグラウンドコマンドが終了すると、次のようになります。リモートコマンドオプション)

sftp -b - -s '/usr/bin/sudo /usr/libexec/sftp-server'

ただし、SFTPの使用方法は不明であるため、mcサーバー側のアプローチをお勧めします(下記参照)。

サーバーで変更

LogLevel DEBUG3
AuthorizedKeysFile      .ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM yes
PrintMotd no
Subsystem       sftp    /usr/libexec/sftp-server
Match User <mc user>
        X11Forwarding no
        AllowTcpForwarding no
        PermitTTY no
        ForceCommand /usr/bin/sudo /usr/libexec/sftp-server

おすすめ記事