我们有一个用例,其中ssh用户test2被授予运行另一个用户test3拥有的特定脚本的权限。以下是/etc/sudoers
文件中提供的权限。
test2 ALL=(test3) NOPASSWD: /home/test3/start.sh
这在我们运行ssh test2@target_host sudo -u test3 /home/test3/start.sh
我们想通过ansible成为method:sudo
和成为begin_user来执行ssh任务,但该命令永远无法工作。我们发现,ansible在实际执行期间会按以下方式修改指令,并且与sudoer文件上的权限永远不匹配。
sudo -H -S -n -u test3 /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-knavgwllrftljavwujkveyjcctlgkbda ; /usr/bin/python /var/tmp/ansible-tmp-1582478029.04-74694013835195/AnsiballZ_command.py'"'"'"'"'"'"'"'"' && sleep 0'"'"''
看来,我们唯一的选择是按如下所示更新权限,但是这种方式对test3用户提供了完整的shell权限,这将永远无法满足我们的安全要求
test2 ALL=(test3) NOPASSWD: /bin/sh
以前有人遇到过类似情况吗?控制执行。请注意,test2和test3是非sudo用户。
答案 0 :(得分:0)
由于您只需要<Location /sonarqube>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
ProxyPreserveHost On
ProxyPass http://192.168.10.15:9000/sonarqube
ProxyPassReverse http://192.168.10.15:9000/sonarqube
</Location>
用户来执行test2
所拥有的一个文件,那么只授予test3
来读取和执行该文件(及其所在目录)的权限怎么样?
test2
然后,您根本不需要setfacl -m u:test2:rx /home/test3
setfacl -m u:test2:rx /home/test3/start.sh
东西。