Uzaktan kumandalı robotlarla otomasyon kuruyorum. Bu botların sadece belirli komutları çalıştırmak için tam olarak izinleri olması şarttır ( sudoers
keyfi komutlara izin vermek için izinleri fazla açamıyorum ).
İyi çalışıyor, ihtiyacım olan birkaç komutu ayarlayabilirim ve şifre sınırlamasını aşabilirim (çünkü sudo
girişte şifreleri girme imkânı yoktur ) dosyasındaki NOPASSWD
yönergeyle sudoers
. Ama bir problem var. Bazı senaryolar, özellikle de bazılarında yazılmışlar ... er, PHP çerçeveleri ... projenin kökü olarak kabul edilen belli bir dizinden çalıştırılmayı bekler.
Bu dizin başka bir kullanıcıya www-data
veya apache
çoğu zaman aittir . Tamam, botu betiği bu kullanıcı olarak çalıştırması için yetkilendirebilirim, ancak cd
etkileşimli olmayan bir oturumda doğru yolu bulamıyorum, çünkü dosyaya cd
komut olarak dahil etmek mümkün değil sudoers
.
Normalde benim yapacağım şey şunun gibi bir şey cd /var/www/path/to/app && php whatever.php --some args
ama sudoers
dosyaya bu şablonu kurmanın bir yolunu bulamıyorum , mümkün görünmüyor.
Bunu aşmanın bir yolunu biliyor musun?