Yalnızca kullanıcı adımın (myuser) altında oturum açabileceğim bir sistem var, ancak komutları diğer kullanıcı (scriptuser) olarak çalıştırmam gerekiyor. Şimdiye kadar, ihtiyacım olan komutları çalıştırmak için aşağıdakileri buldum:
ssh -tq myuser@hostname "sudo -u scriptuser bash -c \"ls -al\""
Ancak, daha karmaşık bir komut çalıştırmayı denediğimde, [[ -d "/tmp/Some directory" ]] && rm -rf "/tmp/Some directory"
hızlıca alıntı yapmakta zorlanıyorum. Bu örnek karmaşık komutu nasıl iletebileceğimi bilmiyorum bash -c
, \"
zaten geçtiğim komutun sınırlarını ne zaman sınırlandırıyorsa (ve / tmp / boşluk içeren bir dizini nasıl alıntılayacağımı bilmiyorum).
Alıntı ne kadar karmaşık / çılgın olursa olsun herhangi bir komutu geçmeme izin veren genel bir çözüm var mı, yoksa bu bir çeşit sınırlama oldu mu? Başka olası ve belki daha okunabilir çözümler var mı?