我正在开发一个项目,其中代码最初用于ssh到其他4台远程计算机上运行测试。由于计算能力的提高,我被赋予了在一台计算机上运行它们的任务。
通常程序ssh进入root @ computer1,进行一些复制和粘贴
示例ant文件中的一个代码是:
<target name="overwrite-config-file">
<exec executable="bash" inputstring="echo '${database.password}' | sudo -S rm -rf ${config.file}" />
<exec executable="bash" inputstring="echo '${database.password}' | sudo -S cat ${new.config.file} > ${config.file}" />
</target>
在其他计算机上使用root时一切正常
现在我在一台计算机上尝试这个,我这样做是通过创建4个帐户来模拟&#34;计算机,我将ssh到computer1 @ localhost等。
问题在于root @ computer1所有的复制和粘贴工作都很完美但是使用ssh进入localhost我没有root的管理员权限,每当我尝试对文件做任何事情它都会响应权限被拒绝,你可以看到我在这些命令中有sudo但仍然得到权限被拒绝错误。
tl; dr:无论如何要给用户root权限,所以权限不会被拒绝?