The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Изменение UID работающего процесса ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Изменение UID работающего процесса ..."  
Сообщение от auto_tips (??) on 21-Ноя-08, 23:42 
В утилите pcred из комплекта Solaris 10 появилась возможность на лету менять
идентификатор владельца уже запущенного процесса:

   # ps -ef | grep sleep
   vasya 4088 4081 0 09:50:53 pts/11 0:00 sleep 10000000

   # pcred -u 123 4088

   # ps -ef | grep sleep
   kolya 4088 4081 0 09:50:53 pts/11 0:00 sleep 10000000

URL: http://www.unixpin.com/wordpress/2008/11/21/proc-uid/
Обсуждается: http://www.opennet.dev/tips/info/1843.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от guest (??) on 21-Ноя-08, 23:42 
Зачем?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от . on 21-Ноя-08, 23:45 
чтобы хаксорам было проще заметать следы
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от Руслан on 22-Ноя-08, 00:34 
Чтобы данные, к которым процесс имеет доступ при запуске, перестали быть доступны процессу во время его работы.

Первый пример, который мне в голову пришел - чтение файла с паролем ключа SSL и дальнейшее забывание того, как его прочесть снова.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от ezhik on 22-Ноя-08, 03:29 
а процесс сам не может сделать setuid после открытия файла и закрыть его после чтения?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от ezhik on 22-Ноя-08, 03:32 
в Linux это через capability реализовано. Достаточно давно.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Раздел полезных советов: Изменение UID работающего процесса ..."  
Сообщение от User294 (ok) on 22-Ноя-08, 22:54 
Типа, все на благо хацкера? =)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от аноним on 23-Ноя-08, 11:23 
А подробнее, как это сделать ?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от Анониум on 23-Ноя-08, 16:07 
расскажите, интересно же !
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Раздел полезных советов: Изменение UID работающего процесса ..."  
Сообщение от PereresusNeVlezaetBuggy email(ok) on 23-Ноя-08, 17:04 
>Типа, все на благо хацкера? =)

Угу. Осталось только в motd прописать рутовый пароль ;)

Теоретически, конечно, может быть нужно для кривых прог, которые не умеют дропать привелегии и содержат в себе проверку на запуск из-под рута - но я бы побоялся использовать такое г... изначально.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от vitek (??) on 23-Ноя-08, 23:49 
$ man capabilities (или http://linux.die.net/man/7/capabilities )
....
CAP_SETUID
    Allow arbitrary manipulations of process UIDs (setuid(2), setreuid(2), setresuid(2), setfsuid(2)); allow forged UID when passing socket credentials via Unix domain sockets.
.....
по русски здесь же - http://www.opennet.dev/man.shtml?topic=capabilities&category=...
...
CAP_SETUID
    Разрешить произвольные манипуляции UID процессов (setuid(2), etc.); разрешить ложные UID при прохождении параметров сокетов через доменные сокеты Unix.

подробнее здесь - http://en.wikipedia.org/wiki/Capability-based_security
p.s.:
к сожалению они так и не стали стандартом POSIX (но в линух реализованы). отсюда имеем эту статью, т.е. "кто в лес, кто по дрова"...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от BigAlex on 24-Ноя-08, 11:29 
ну это еще программа должна быть правильная.
далеко не все программы правильные...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от const email(??) on 24-Ноя-08, 13:24 
Разница с солярисной фичей в том, что линуксовый процесс может менять setuid'ом только свой uid, а в солярисе один процесс может поменять uid другого.

В POSIX нет ничего, что требует прав администратора. И в этом есть определённый смысл. Для таких вещей можно было бы придумать отдельную спецификацию, но они всё же сильно зависимы от ОС...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от vitek (??) on 24-Ноя-08, 14:46 
>Разница с солярисной фичей в том, что линуксовый процесс может менять setuid'ом только свой uid, а в солярисе один процесс может поменять uid другого.

да. я именно это и имел в виду.
и честно говоря не могу представить себе зачем бы мне это понадобилось.
особенно не понятно, что будет с уже открытыми файловыми дескрипторами (и не только) в ходе такого изменения, но попробую.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Изменение UID работающего процесса в Solaris 10"  
Сообщение от ezhik on 27-Ноя-08, 16:02 
вообще писал про это
CAP_SETPCAP
  If  file  capabilities are not supported: grant or remove any capability in the caller's
  permitted capability set to or from any other process.  (This property of CAP_SETPCAP is
  not available when the kernel is configured to support file capabilities, since CAP_SET‐
  PCAP has entirely different semantics for such kernels.)

  If file capabilities are supported: add any capability from the calling thread's  bound‐
  ing  set  to  its inheritable set; drop capabilities from the bounding set (via prctl(2)
  PR_CAPBSET_DROP); make changes to the securebits flags.

Возможно, не совсем реализована. И разница в том, что процесс может дать другому процессу cap_setuid. Только вряд ли сможет контроллировать, на какой UID тот сделает set.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру