如何通过 PuTTY 的 psftp.exe 执行 sudo su

Ric*_*dom 3 linux sftp sudo putty su

使用 (PuTTY)PSFTP.exe可以打开 shell 脚本以在 Linux 上执行某些操作。

在此示例中,我使用它psftp.exe来打开get30.txt文件。

%%PROJECT/ROOT_DIRECTORY%%\PuTTY\psftp.exe user@domain.nl -pw password -b "%%PROJECT/ROOT_DIRECTORY%%\Scripts\%%ENVIRONMENT/NAME%%\get30.txt"
Run Code Online (Sandbox Code Playgroud)

get30.txt我有以下行动:

sudo su -l4097gps
cd /appl/gps/RIT/IN/30/RAP-T1
chmod 777 GP*.*
get -r /appl/gps/RIT/IN/30/RAP-T1
rm /appl/gps/RIT/IN/30/RAP-T1/*
quit
Run Code Online (Sandbox Code Playgroud)

可惜psftp不认识sudo su

sudo使用自己的用户登录后如何才能使用其他用户?

ant*_*duh 5

这是不可能的。您发送的这些命令不是任意 shell 命令 - 它们是 SFTP 命令。它们恰好看起来像 shell 命令(rm、cd 等),但它们只是镜像 shell 等效项。大多数 SFTP 实现中没有“sudo”命令,因此您无法执行此操作。

我错误的唯一情况是,如果您使用的是支持“su”的自定义 SFTP 服务器和客户端,例如 Van Dyke 软件提供的服务器和客户端。但是,您将在那里使用“su”,并且需要进行身份验证,而不是使用“sudo”。

此外,请参阅 serverfault stackoverflow 上的这篇文章:

如何在 sftp 客户端上更改用户以获得更多权限