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 sftp
とSFTPバックグラウンドコマンドが終了すると、次のようになります。リモートコマンドオプション)
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