Apache kullanıcısına www-data
kullanarak belirli uygulamaları yürütmek için ayrıcalık tanınmalıdır sudo
.
- Komutu çalıştırın
sudo visudo
. Aslında dosyayı bizde düzenlemek istiyoruz etc/sudoers
. Bunu yapmak için, sudo visudo
terminalde kullanarak sudoers
dosyayı düzenlemek için (temp) çoğaltın .
- Dosyanın sonuna şu ex komutunu ekleyin: -
restart
sigara içmek için komut kullanmak ve sorunuzdaki php
başka bir işlem için komut kullanmak istiyorsak ,
www-data ALL=NOPASSWD: /etc/init.d/smokeping/restart, usr/bin/php
(Bu, süper kullanıcı (kök) ayrıcalıklarını kullanarak çalıştırmak restart
ve php
komutlar vermek istediğinizi varsayar ve yoldaki php
komutu kullanırsınız usr/bin/
)
Ancak, her uygulamayı süper kullanıcı ayrıcalıkları kullanarak çalıştırmak istiyorsanız, yukarıda belirtilenler yerine aşağıdakileri ekleyin. Bunu yapmak istemeyebilirsiniz, ALL
komutlar için değil , çok tehlikeli.
www-data ALL=NOPASSWD: ALL
3. Sudoers dosyasını visudo
düzenledikten sonra ( sudoers
bu yüzden kaydedin ve temp dosyasına (visudo) geçici dosyasını düzenleyerek sudoers
dosyaya yazın. ( wq!
)
4. İşte bu, şimdi exec()
veya betiğinizde shell_exec
aşağıdaki şekilde kullanın xxx.php
. php betiğinde komut kullanmadan sudo
önce kullanmayı unutmayın .
örn: -
exec ("sudo /etc/init.d/smokeping restart 2>&1");
veya
shell_exec("sudo php -v");
Bu yüzden sorununuzda, kullanmak istediğiniz komutları step no (2.)
ekleyin ve eklediğim gibi php betiğinizi istediğiniz gibi değiştirin.
seninkiyle aynı problem burada /programming//a/22953339/1862107