如何在linux中使用Puppet调用sudo命令
使用下面的脚本在具有puppet版本3.7的redhat linux中调用sudo命令如何在linux中使用Puppet调用sudo命令,puppet,Puppet,使用下面的脚本在具有puppet版本3.7的redhat linux中调用sudo命令 Exec { cwd => "/home/dev02", command => "sudo -su dev01", path => "/usr/bin/", logoutput => "on_failure", } 我没有收到任何错误,但在执行此脚本之后, 当我使用“whoami”查看我的用户时,我仍然将其视为dev02 而不是dev01 有人能帮我吗 提前感谢。此
Exec {
cwd => "/home/dev02",
command => "sudo -su dev01",
path => "/usr/bin/",
logoutput => "on_failure",
}
我没有收到任何错误,但在执行此脚本之后,
当我使用“whoami”查看我的用户时,我仍然将其视为dev02
而不是dev01
有人能帮我吗
提前感谢。此命令不会达到预期效果,因为所有
exec
资源命令都是在派生的进程中执行的。如果要以另一个用户的身份执行命令,则
例如:
exec { 'Touch some file':
cwd => '/home/dev02',
command => 'touch some_file',
path => '/usr/bin/',
logoutput => 'on_failure',
user => 'dev01'
}
此命令不会执行预期的操作,因为所有
exec
资源命令都是在派生的进程中执行的。如果要以另一个用户的身份执行命令,则
例如:
exec { 'Touch some file':
cwd => '/home/dev02',
command => 'touch some_file',
path => '/usr/bin/',
logoutput => 'on_failure',
user => 'dev01'
}
即使这样,也不会神奇地将交互式shell转换为使用不同的UID运行。通过脚本执行此操作的唯一方法是使其成为一个shell脚本,并对该shell脚本进行源代码解析(即,在当前shell中运行命令)。其他任何东西都不会影响您的运行过程。即使这样,也不会神奇地将您的交互式shell转换为使用不同的UID运行。通过脚本执行此操作的唯一方法是使其成为一个shell脚本,并对该shell脚本进行源代码解析(即,在当前shell中运行命令)。其他任何东西都不会影响您的运行过程。