Summary: | /bin/sh сбрасывает привилегии, что мешает работать setgid программам, порождающим потомков | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Илья Казначеев <ilya.kasnacheev> |
Component: | bash | Assignee: | placeholder <placeholder> |
Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus |
Severity: | major | ||
Priority: | P3 | CC: | glebfm, ldv, placeholder |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Илья Казначеев
2005-08-24 14:33:07 MSD
А как оно в дебиане сделано? I disagree. If you need to keep effective [ug]id, consider using -p option. Я не знаю, как оно точно сделано в дебиане, но (Debian uses a modified bash
which does not do this when invoked as sh.)
То есть, они это дело запатчили.
>If you need to keep effective [ug]id, consider using -p option.
If you need to think, consider using brains.
If you use system(), you can't pass -p to /bin/sh because you don't have
handler.
And you can't use exec*() because of system() because you need to have patterns
globbed, for example, and basically you just want to invoke string as a whole
without half-assely tokenizing it yourself.
Короче - мне пофиг, я всех уведомил, но пакет crawl, с учетом этого, собрать
не-воз-мож-но. А в debian он давно есть, и все довольны.
P.S. Уж не говоря, что bash _ДОЛЖЕН_ подразумевать --posix, когда запускается,
как /bin/sh.
s/because of/instead of/ s/handler/handler to do so/ Во первых, если вы рассчитываете на конструктивный результат (а иначе зачем использовать bugzilla), то вам следует формулировать свою точку зрения более корректно. Во вторых, подход, который был избран в Debian, я уже рассматривал ранее и отверг как снижающий безопасность применения bash в этих условиях и таким образом просто неприемлемый. Самое главное, и это написано в system(3), использовать system(3) в привилегированном приложении небезопасно. Если некий пакет в Debian позволяет себе подобную вольность, следует поставить в известность мантейнера этого пакета. и автора потенциально уязвимой программы И наконец, /bin/sh это отнюдь не bash --posix, поэтому ничего он не должен. P.S. Эту bugzilla иногда использут разработчики, не владеющие русским языком. В случае, когда сообщение об ошибке или комментарий потенциально может привлечь их внимание, следует использовать язык общения разработчиков разных стран (английский). Debian still has package named "crawl", that is, definitely, set-gid game that uses system() to spawn tar process for savefiles compression. It have security fixes done for it, so I assume it is monitored properly, and set-gid system() does not bugs them. But you may try to report that bug and I'll see what they'll tell you. /bin/sh should conform to POSIX, otherwise it's such a sucky /bin/sh. Foreign developers should take note of "Аффтар, учи албанский!" Why doesn't crawl make use of zlib/bzlib? I think that's because noone taught it to do so. And anyway, it have got a lot of files to compress, not a single one. So you'll propose to build tar into game binary? It simply used unix-way - evoke process to do work for it. In this case this did not work. Life sucks and then you die, you know it. |