Я использую Ubuntu Linux, и у меня работает проприетарное программное обеспечение Viber. Сегодня я сохранил файл, используя Viber, и понял, что он был сохранен в файловой системе с владельцем root в качестве владельца. Я копал больше и понял, что запущены два процесса, один под моим именем пользователя, другой под root. Может ли кто-нибудь объяснить мне, возможно ли, чтобы процесс в пользовательском пространстве запускал другой подпроцесс от имени пользователя root?
Вот права доступа к файлу, хранящемуся в Viber:
mehdix@spielplatz:~/New Folder2$ ls -l
total 240
-rw-rw-r-- 1 root root 245455 Okt 9 09:50 saved_with_viber
и вот результат команды 'ps':
mehdix@spielplatz:~$ ps axuf | grep Viber
mehdix 23857 0.0 0.0 4444 644 ? S Okt08 0:00 \_ /bin/sh /usr/share/viber/Viber.sh
root 23864 0.0 1.8 2794592 146604 ? Sl Okt08 0:17 | \_ /usr/share/viber/Viber
mehdix 26484 0.0 0.0 17432 964 pts/5 S+ 09:43 0:00 \_ grep --color=auto Viber
mehdix@spielplatz:~$
Вот вывод 'ls -l /usr /share /viber /Viber':
mehdix@spielplatz:~$ ls -l /usr/share/viber/Viber
-rwsr-sr-x 1 root root 1733113 Okt 31 2013 /usr/share/viber/Viber
и вот содержимое файла /usr/share/viber/Viber.sh:
mehdix@spielplatz:~$ cat /usr/share/viber/Viber.sh
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH