Привет, подскажите как в Linux сделать ограничение - по команде ps выводить только процессы пользователя вызвавшего ее.
>Привет, подскажите как в Linux сделать ограничение - по команде ps выводить
>только процессы пользователя вызвавшего ее.man ps
в разных версия и разных дистра по разному...
>>Привет, подскажите как в Linux сделать ограничение - по команде ps выводить
>>только процессы пользователя вызвавшего ее.
>
>man ps
>в разных версия и разных дистра по разному...всю жизнь ps выводил процессы запущенные этим юзером на этом терминале.
показать процессы этого пользователя (не только на этом терминале): ps u
т.е. то что вы хотите - не ограничение, а расширение :)
>>>Привет, подскажите как в Linux сделать ограничение - по команде ps выводить
>>>только процессы пользователя вызвавшего ее.
>>
>>man ps
>>в разных версия и разных дистра по разному...
>
>всю жизнь ps выводил процессы запущенные этим юзером на этом терминале.
>показать процессы этого пользователя (не только на этом терминале): ps u
>т.е. то что вы хотите - не ограничение, а расширение :)Мне надо сделать с помощью sysctl ограничение. Чтобы юзер какие бы опции ps не использовал - видел только свои процессы!
>[оверквотинг удален]
>>>
>>>man ps
>>>в разных версия и разных дистра по разному...
>>
>>всю жизнь ps выводил процессы запущенные этим юзером на этом терминале.
>>показать процессы этого пользователя (не только на этом терминале): ps u
>>т.е. то что вы хотите - не ограничение, а расширение :)
>
>Мне надо сделать с помощью sysctl ограничение. Чтобы юзер какие бы опции
>ps не использовал - видел только свои процессы!Э-э, а вопрос такой, а нафига? Что он там такое криминальное увидит???
Юзер ведь и в /proc влезет если захочет что-нить увидить. Или софтинко какое-нить запустит, которое системные функции вызовет возвращающие список процессов...
>[оверквотинг удален]
>>>т.е. то что вы хотите - не ограничение, а расширение :)
>>
>>Мне надо сделать с помощью sysctl ограничение. Чтобы юзер какие бы опции
>>ps не использовал - видел только свои процессы!
>
>Э-э, а вопрос такой, а нафига? Что он там такое криминальное увидит???
>
>
>Юзер ведь и в /proc влезет если захочет что-нить увидить. Или софтинко
>какое-нить запустит, которое системные функции вызовет возвращающие список процессов...Знаю что во фрибсд - sysctl kern.ps_showallprocs=0
поскольку опция ядра то не думаю что он там куда-то залезит..
>[оверквотинг удален]
>>
>>Э-э, а вопрос такой, а нафига? Что он там такое криминальное увидит???
>>
>>
>>Юзер ведь и в /proc влезет если захочет что-нить увидить. Или софтинко
>>какое-нить запустит, которое системные функции вызовет возвращающие список процессов...
>
>Знаю что во фрибсд - sysctl kern.ps_showallprocs=0
>
>поскольку опция ядра то не думаю что он там куда-то залезит..По первому вопросу все (ну как минимум я) подумали про ограничение для команды ps, а не про системные ограничения.
С ходу не нашел подобных опций для Linux, либо их нет, либо надо еще поискать :(По запуску процесса в /proc создается каталог с именем == pid процесса, где содержится некоторая доступная инфа. Т.е. в случае ввода такого ограничения, доступ в эти каталоги должен быть блокирован или ко всей /proc, если блокировать не всю /proc, а тольк о подкаталоги процессов, то все равно остается часть инфы (каталог принадлежит запущенному процессу, например для postfix владелец каталога будет postfix (ls -l /proc), а это уже утечка информации.
Если не секрет, то какого рода информация из вывода ps должна быть скрыта?
>[оверквотинг удален]
>По запуску процесса в /proc создается каталог с именем == pid процесса,
>где содержится некоторая доступная инфа. Т.е. в случае ввода такого ограничения,
>доступ в эти каталоги должен быть блокирован или ко всей /proc,
>если блокировать не всю /proc, а тольк о подкаталоги процессов, то
>все равно остается часть инфы (каталог принадлежит запущенному процессу, например для
>postfix владелец каталога будет postfix (ls -l /proc), а это уже
>утечка информации.
>
>Если не секрет, то какого рода информация из вывода ps должна быть
>скрыта?Ну там прям секретных процессов нету в принципе. Но это хостинг сервер и shell имеет некое кол-во незнакомых людей. Вот я и хотел сделать ограничение чтобы поменьше инфы получали..во FreeBSD ограничить - не проблема. Но вот под линукс что-то никто не подскажет. Есть идея сделать alias для ps aux чтобы пускалось ps -u :)
>Ну там прям секретных процессов нету в принципе. Но это хостинг сервер
>и shell имеет некое кол-во незнакомых людей. Вот я и хотел
>сделать ограничение чтобы поменьше инфы получали..во FreeBSD ограничить - не проблема.
>Но вот под линукс что-то никто не подскажет. Есть идея сделать
>alias для ps aux чтобы пускалось ps -u :)под линух есть офигенные инструменты для ограничения вообще всего: grsec - он вроде как попроще выглядит и конечно SELinux - замечательнейший пакет, если его всетаки нормально зарулить.
Но самый главный вопрос: существует множество способов обойти разного типа ограничения. если например убрать вывод процессов в ps, то останется /proc, если и его убрать, найдется еще з 10ок способов атаковать систему и получить нужную информацию. Если у вас реально встал вопрос защиты то нужно защищать ВСЮ систему, если вы хотите защиту от дяди Васи, ну тогда можно убрать проц и ps но это не поможет защитить систему целяком.
>[оверквотинг удален]
>>утечка информации.
>>
>>Если не секрет, то какого рода информация из вывода ps должна быть
>>скрыта?
>
>Ну там прям секретных процессов нету в принципе. Но это хостинг сервер
>и shell имеет некое кол-во незнакомых людей. Вот я и хотел
>сделать ограничение чтобы поменьше инфы получали..во FreeBSD ограничить - не проблема.
>Но вот под линукс что-то никто не подскажет. Есть идея сделать
>alias для ps aux чтобы пускалось ps -u :)ага, на top тоже алиас?
>ага, на top тоже алиас?На многие программы я ставлю просто права нужные.
# ls -la /usr/bin/top
-r-xr-x--- 1 root root 52348 Jan 1 2006 /usr/bin/top$ top
-bash: /usr/bin/top: Permission denied
С ps я хотел поступить более цивилизованно, думал раз во FreeBSD есть опция sysctl то тут тоже есть. Ну похоже нету, просмотрел весь листинг.. За grsec спасибо, погляжу..
Вобщем стандартного решения в Linux нет.
Т.е. нельзя скрыть от пользователя например процессы c UID=0, как в FreeBSD kern.ps_showallprocs.
Но есть патчи которые делают это.
Например http://www.grsecurity.net/. Накладываешь патч и ставишь все что нужно в ядре и пересобираешь его.