Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
| | |
Написано ж, что и админ и система - обычные пользователи 08.04.05 12:36 Число просмотров: 1667
Автор: amirul <Serge> Статус: The Elderman
|
> У юникса рут имеет абсолютные привелегии и от рута идут > начальные
В юниксах во всех проверках прав стоит собственна проверка прав и проверка на euid == 0|eguid == 0
> считать появившихся в Free5.x списков доступа). А тут какой > механизм ? Процесс запущенный от > имени системы (это называется local_system?)
Просто пользователь SYSTEM
> имеет абсолютные права или тоже нет ? Или тут вообще нет > пользователя с абсолютными > правами ?
Вообще нет такого пользователя. Все права распределяются исключительно по DACL-ам. Есть правда еще привилегии (их тоже можно как то отрубить, но я не занимался этим вплотную - не знаю где), одна из которых (SE_DEBUG_PRIVILEGE) позволяет открывать любые процессы с любым набором прав, еще одна (SE_TAKE_OWNERSHIP_PRIVILEGE) позволяет менять владельца любого объекта в системе, а владелец в свою очередь всегда неявно обладает правом WRITE_DAC (запись списков доступа) на объект, которым владеет. Так что администратор в принципе тоже имеет доступ к любым объектам, но не так нагло, как в юниксах
> А в чем отличие с точки зрения ядра системы ? Ну, понятно, > можно
Отличия в способе запуска. Если обычному процессу достаточно просто указать точку входа - винда запускает этот процесс и забывает о нем, то сервису нужно обрабатывать запросы системы. Короче у сервиса и у обычного процесса разные программные интерфейсы.
> Разрешены какие-нибудь специальные обращения к ядру, другая > модель
Из прав - только то, что разрешено пользователю, от имени которого запущена служба.
> памяти... ? Спрошу по другому: зачем было придумывать новую > сущность > с названием "служба" ? Чем просто "процесс" не устраивал ?
Службы запускаются до логона любого из юзеров, менеджер служб (тот самый services.exe) следит за запущенными службами и может либо перезапустить процесс, если служба упала, либо перезагрузить винду (всем известные окошки от msblaster-а/sasser-а это как раз реакция менеджера служб на падение критичных служб). В общем отличий достаточно, но все они видны больше с точки зрения разработчика. Шедулер в ядре отличий не видит вообще.
> > > system. Ядро само слушает порты ? > > Ядро это ядро а system это system ) > ?? А кто это тогда ?
Ядро это то, что работает в нулевом кольце защиты, а SYSTEM - это пользователь, от имени которого запускается большинство системных задач. Порты могут слушать всякие службы (скорее всего именно они и это делают), эти службы можно отключить при помощи диспетчера служб (но для начала их нужно найти)
|
<beginners>
|
Управление процессами в винде 07.04.05 12:41
Автор: Vladimir00 Статус: Незарегистрированный пользователь
|
Привет !
Я раньше пользовался ms-dos'ом, потом перешел на Freebsd (и несколько лет с ней работал), а сейчас возникла необходимость перейти на винду2000. В связи с этим несколько вопросов (может faq есть на такой случай?):
-- Не могу удалить некоторые файлы. Говорит: "файл занят приложением". А как узнать каким ? Аналог fstat ?
-- Не могу убить некоторые процессы. Причин не объясняет (или говорит "нет прав"). Но я же захожу как administrator ? Если есть более другой приоритет, как его получить ?
-- Чем отличаются службы от процессов ? Т.е. есть "управление службами" - вроде окружающие термины (включить, выключить, работает/не работает) напомнают демонов в bsd, но те были просто процессами без терминалов, и, соотвественно, подчинялись ps, kill и прочему. А тут как-то по другому ?
-- "netstat -ona" : указывает кучу открытых портов у запущенной системы, многие id=4. В списке процессов это system. Ядро само слушает порты ?
-- Можно ли вообще закрыть все порты ? Я имею ввиду не firewall, а может ли локальная система жить, запускать клиентов (только IP, явно заданный адрес) и не иметь никаких listen-серверов ?
Извините, если вопрос не в эту тему. Спасибо за ответы.
|
|
ProcessExplorer от www.sysinternals.com - там есть поиск... 07.04.05 13:00
Автор: Killer{R} <Dmitry> Статус: Elderman
|
> -- Не могу удалить некоторые файлы. Говорит: "файл занят > приложением". А как узнать каким ? Аналог fstat ? ProcessExplorer от www.sysinternals.com - там есть поиск открытых именованных объектов в процессах (файлы, ключи реестра и тп)
> -- Не могу убить некоторые процессы. Причин не объясняет > (или говорит "нет прав"). Но я же захожу как administrator > ? Если есть более другой приоритет, как его получить ? Администратор может убивать процессы запущенные администратором. Админ это обычный пользователь у которого прав много, в отличии от юниксового рута у коготоро ид=0 и этим все сказано Ж)
А сервисы - процессы запущенные от имени системы (это тоже просто навороченный юзер)
Вообщето убить сервис админ может, поскольну он имеет привилегии отладки (опять же - это мона убрать). Но для этого процесс, убивающий сервис его должен включить эту привилегию для себя, а таск манагер 2000й так не делает (в отличии от таск манагеров ХР и 2к3). Убивай их процесс эксплорером по ссылке что я дал выше)
> -- Чем отличаются службы от процессов ? Т.е. есть > "управление службами" - вроде окружающие термины (включить, > выключить, работает/не работает) напомнают демонов в bsd, > но те были просто процессами без терминалов, и, > соотвественно, подчинялись ps, kill и прочему. А тут как-то > по другому ? Служба это не простой процесс. Это процесс созданный специально чтобы работать сервисом (те простой ехе полноценным сервисом без правки кода не сделаешь). Мало того в одном процессе (типа services.exe) может работать сразу много сервисов. Хотя может быть так что в процессе один сервис.
> -- "netstat -ona" : указывает кучу открытых портов у > запущенной системы, многие id=4. В списке процессов это > system. Ядро само слушает порты ? Ядро это ядро а system это system )
> -- Можно ли вообще закрыть все порты ? Я имею ввиду не > firewall, а может ли локальная система жить, запускать > клиентов (только IP, явно заданный адрес) и не иметь > никаких listen-серверов ? Встроенными средствами 2000й все пожалуй не закроешь. Надо использовать сторонние файрволлы.
|
| |
У юникса рут имеет абсолютные привелегии и от рута идут... 08.04.05 10:23
Автор: Vladimir00 Статус: Незарегистрированный пользователь
|
> Администратор может убивать процессы запущенные > администратором. Админ это обычный пользователь у которого > прав много, в отличии от юниксового рута у коготоро ид=0 и > этим все сказано Ж) У юникса рут имеет абсолютные привелегии и от рута идут начальные
скрипты, дальше getty, а потом su или login понижают их до
обычного пользователя (причем у него нет возможности вернуть их обратно, иначе
как запустив setid-исполняемый файл).
Т.е. в системе существует два уровня привелегий (ну, если не
считать появившихся в Free5.x списков доступа). А тут какой механизм ? Процесс запущенный от
имени системы (это называется local_system?)
имеет абсолютные права или тоже нет ? Или тут вообще нет пользователя с абсолютными
правами ?
> Служба это не простой процесс. Это процесс созданный > специально чтобы работать сервисом (те простой ехе > полноценным сервисом без правки кода не сделаешь). Мало > того в одном процессе (типа services.exe) может работать > сразу много сервисов. Хотя может быть так что в процессе > один сервис. А в чем отличие с точки зрения ядра системы ? Ну, понятно, можно
на исполняемый файл посадить какой нибудь флажек - это сервис, а это -
просто приложение. Но, наверное, какие-то еще отличия есть ?
Разрешены какие-нибудь специальные обращения к ядру, другая модель
памяти... ? Спрошу по другому: зачем было придумывать новую сущность
с названием "служба" ? Чем просто "процесс" не устраивал ?
> > system. Ядро само слушает порты ? > Ядро это ядро а system это system ) ?? А кто это тогда ?
|
| | |
Написано ж, что и админ и система - обычные пользователи 08.04.05 12:36
Автор: amirul <Serge> Статус: The Elderman
|
> У юникса рут имеет абсолютные привелегии и от рута идут > начальные
В юниксах во всех проверках прав стоит собственна проверка прав и проверка на euid == 0|eguid == 0
> считать появившихся в Free5.x списков доступа). А тут какой > механизм ? Процесс запущенный от > имени системы (это называется local_system?)
Просто пользователь SYSTEM
> имеет абсолютные права или тоже нет ? Или тут вообще нет > пользователя с абсолютными > правами ?
Вообще нет такого пользователя. Все права распределяются исключительно по DACL-ам. Есть правда еще привилегии (их тоже можно как то отрубить, но я не занимался этим вплотную - не знаю где), одна из которых (SE_DEBUG_PRIVILEGE) позволяет открывать любые процессы с любым набором прав, еще одна (SE_TAKE_OWNERSHIP_PRIVILEGE) позволяет менять владельца любого объекта в системе, а владелец в свою очередь всегда неявно обладает правом WRITE_DAC (запись списков доступа) на объект, которым владеет. Так что администратор в принципе тоже имеет доступ к любым объектам, но не так нагло, как в юниксах
> А в чем отличие с точки зрения ядра системы ? Ну, понятно, > можно
Отличия в способе запуска. Если обычному процессу достаточно просто указать точку входа - винда запускает этот процесс и забывает о нем, то сервису нужно обрабатывать запросы системы. Короче у сервиса и у обычного процесса разные программные интерфейсы.
> Разрешены какие-нибудь специальные обращения к ядру, другая > модель
Из прав - только то, что разрешено пользователю, от имени которого запущена служба.
> памяти... ? Спрошу по другому: зачем было придумывать новую > сущность > с названием "служба" ? Чем просто "процесс" не устраивал ?
Службы запускаются до логона любого из юзеров, менеджер служб (тот самый services.exe) следит за запущенными службами и может либо перезапустить процесс, если служба упала, либо перезагрузить винду (всем известные окошки от msblaster-а/sasser-а это как раз реакция менеджера служб на падение критичных служб). В общем отличий достаточно, но все они видны больше с точки зрения разработчика. Шедулер в ядре отличий не видит вообще.
> > > system. Ядро само слушает порты ? > > Ядро это ядро а system это system ) > ?? А кто это тогда ?
Ядро это то, что работает в нулевом кольце защиты, а SYSTEM - это пользователь, от имени которого запускается большинство системных задач. Порты могут слушать всякие службы (скорее всего именно они и это делают), эти службы можно отключить при помощи диспетчера служб (но для начала их нужно найти)
|
|
|