Почему пользователь, о котором сообщают, является “корнем”, когда “обычный пользователь” выполняет “PS ux” на OS X? Это нормальное поведение?

Я выполняю OS X 10.6.1. Когда я зарегистрирован как обычный пользователь штата группы и делаю a

ps ux

это перечисляет мой PS ux команда, как выполняемая корнем:

snies   181   0.0  0.3  2774328  12500   ??  S     6:00PM   0:20.96 /System/Library...
root   1673   0.0  0.0  2434788    508 s001  R+    8:16AM   0:00.00 ps ux
snies   177   0.0  0.0  2457208    984   ??  Ss    6:00PM   0:00.52 /sbin/launchd
snies  1638   0.0  0.0  2435468   1064 s001  S     8:13AM   0:00.03 -bash

Это нормальное поведение? И раз так почему? Обратите внимание на то, что пользователь не является учетной записью Администратора и не может к sudo.

3
задан 23.03.2010, 17:07

1 ответ

Это нормально для Mac OS X. Это раньше было нормально почти во всех системах oid Unix. Это работает как корень без sudo, потому что двоичный файл PS установлен-uid работать как корень (например, в моих 10,4 системах):

% ls -l $(which ps)
-rwsr-xr-x   1 root  wheel  31932 Mar 20  2005 /bin/ps

( s вместо пользователь-владелец x столбец означает, что установлен-uid (и пользовательский исполняемый файл), владелец является корнем; это означает, что, неважно, кто выполняет его, это будет работать как корень),

Традиционно (и тем не менее случай в системах Mac OS X), это должно работать как корень, потому что информация, в которой это нуждается, только доступна через доступные для корня устройства (например,/dev/kmem) или системные вызовы только для корня. Это в порядке потому что (если нет ошибки в реализации), программа PS записана способом, который не позволяет вызывающим сторонам получить информацию, которую они не должны иначе иметь.

Другие системы имеют другие механизмы, которые обеспечивают доступ к информации, в которой нуждается PS, и таким образом не нуждаются в двоичных файлах PS набора-uid. В частности,/proc виртуальная файловая система в системах Linux (и другие) может опубликовать очень мелкомодульную информацию о ядре с одинаково мелкомодульными полномочиями. Такая модель достаточна, чтобы позволить непривилегированному PS получать все, в чем она нуждается, не предоставляя доступ к более чувствительным битам информации о ядре.

10
ответ дан 07.12.2019, 23:03

Теги

Похожие вопросы