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

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

%%PROJECT/ROOT_DIRECTORY%%\PuTTY\psftp.exe [email protected] -pw password -b "%%PROJECT/ROOT_DIRECTORY%%\Scripts\%%ENVIRONMENT/NAME%%\get30.txt"

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

不幸的是psftp无法识别sudo su

使用自己的用户登录后,如何将sudo传递给其他用户?

最佳答案

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

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

此外,请参阅有关serverfault stackoverflow的文章:

How to change user for more rights on a sftp client

09-07 18:13