Kök olmayan bir kullanıcıya ( nicollet) Apache2 tarafından başlatılan işlemlere bir sinyal algılama ve gönderme yeteneği vermek istiyorum (bu işlemler FastCGI betikleridir ve sinyal önbelleklerini boşaltmalarını söyler). İşlemler web kullanıcısına ( www-data) aittir ve Debian'ı kararsız olarak çalıştırıyorum.
nicolletKullanıcının bu işlemleri görmesinin bir yolunu bulamıyorum .
Süreçleri çalıştıran ve her ikisi tarafından görebilirsiniz rootve www-data:
root@linux-01:~# ps -Af | grep baryton
www-data 17649 17648 0 10:27 ? 00:00:00 baryton
www-data 28145 1 0 Nov01 ? 00:00:12 baryton --bot
root 18701 18700 0 10:46 pts/0 00:00:00 grep baryton
root@linux-01:~#
Ancak, aynı komutu benim nicolletkullanıcı ile çalıştırmak hiçbir şey döndürmez:
nicollet@linux-01:~$ ps -Af | grep baryton
nicollet 18704 18703 0 10:46 pts/0 00:00:00 grep baryton
nicollet@linux-01:~$
Yukarıdaki sorguyu kullanan bir çalıştırılabilir dosya oluşturmayı denedim system(). Bu www-datasetuid biti ayarlanmış ve aittir :
root@linux-01:~# which setuid-update
/usr/local/bin/setuid-update
root@linux-01:~# ls -l /usr/local/bin/setuid-update
-rwsr-xr-x 1 www-data www-data 11046 Nov 2 10:27 /usr/local/bin/setuid-update
root@linux-01:~#
Ancak, ben aynı durum dikkat edin: süreçleri tarafından görülebilir rootve www-dataancak nicollet:
root@linux-01:~# setuid-update
www-data 17649 17648 0 10:27 ? 00:00:00 baryton
www-data 28145 1 0 Nov01 ? 00:00:13 baryton --bot
www-data 18712 18711 0 10:46 pts/0 00:00:00 sh -c ps -Af | grep baryton
www-data 18714 18712 0 10:46 pts/0 00:00:00 grep baryton
root@linux-01:~# su nicollet
nicollet@linux-01:~$ setuid-update
www-data 18716 18715 0 10:46 pts/0 00:00:00 sh -c ps -Af | grep baryton
www-data 18717 18716 0 10:46 pts/0 00:00:00 grep baryton
nicollet@linux-01:~$
En şaşırtıcı olan, grepsürecin gerçekten tarafından yürütüldüğüdür www-data(çünkü bir setuid çalıştırılabilirinden başlatılmıştır) ve görülebilir, ancak barytonişlem değildir.
Burada neler oluyor? Neden bu işlemleri gösterip psçalıştırabiliyor www-data, ancak başladığında, çalışamayan psbir çalıştırılabilir dosya çalıştırıyor ?www-datanicollet