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.
nicollet
Kullanı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 root
ve 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 nicollet
kullanı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-data
setuid 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 root
ve www-data
ancak 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, grep
sü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 baryton
işlem değildir.
Burada neler oluyor? Neden bu işlemleri gösterip ps
çalıştırabiliyor www-data
, ancak başladığında, çalışamayan ps
bir çalıştırılabilir dosya çalıştırıyor ?www-data
nicollet