Linux за българи: Форуми

Хумор, сатира и забава => Хумор => Темата е започната от: HammerFall_ в Aug 22, 2005, 15:01



Титла: За админите - "програмисти"
Публикувано от: HammerFall_ в Aug 22, 2005, 15:01
Просто не можах да се сдържа, а и как да не публикувам това при условие, че е колкото смешно толкова и жалко. Случката не си я измислям и ми се случи преди няколко дена. Смешно - трагичното е как един системен администратор от малък провинциален град, (в който съм роден аз) се опитва да покаже знания в областта на програмирането. И така, бяхме седнали в едно заведение и почнахме да говорим естествено за Линукс, като в един момент въпросния човек ми задава въпросът: "Ти знаеш ли функцията 'ФОРКЕ'? Знаеш ли какво прави?!?!" При което реакцията от моя страна беше голямо изненадване. Все пак за първи път чувах такава функция и се опитвах да направя асоциация с нещо сходно, но преди да отговоря веднага бях стопиран с въпрос: "Как не знаеш 'ФОРКЕ', като програмираш под Линукс?!?! Аз как я знам, а и ако знаеш колко шелове съм хакнал с нея..." Последва веднага от моя страна корекция, че функцията е fork(void) /*'ФОРК'*/, но така и не разбрах как с тази функция се хакват Shell-ове. Незнам защо, но системните администратори в големите градове /*поне тези които познавам*/ си казват честно, че от програмиране не разбират и не се опитват да спорят за неща, които не разбират, така както аз не споря за неща от тяхната област.
Това не е с цел да обидя някой. Просто ми се стори адски смешно, а и най-вече това до къде може да доведе незнанието на хората с голямо желание да се изтъкнат пред някой. Това доста често ми се случва в това градче.
А какво прави fork? Може да го видите от man fork. А ето и самата страница:
Цитат

NAME
       fork - create a child process

SYNOPSIS
       #include
       #include

       pid_t fork(void);

DESCRIPTION
       fork  creates a child process that differs from the parent process only in its PID and PPID, and in the fact that resource utilizations are set to 0.  File
       locks and pending signals are not inherited.

       Under Linux, fork is implemented using copy-on-write pages, so the only penalty incurred by fork is the time and memory required to duplicate the  parent's
       page tables, and to create a unique task structure for the child.

RETURN VALUE
       On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of execution.  On fail-
       ure, a -1 will be returned in the parent's context, no child process will be created, and errno will be set appropriately.

ERRORS
       EAGAIN fork cannot allocate sufficient memory to copy the parent's page tables and allocate a task structure for the child.

       EAGAIN It was not possible to create a new process because the caller's RLIMIT_NPROC resource limit was encountered.  To exceed  this  limit,  the  process
              must have either the CAP_SYS_ADMIN or the CAP_SYS_RESOURCE capability.

       ENOMEM fork failed to allocate the necessary kernel structures because memory is tight.

CONFORMING TO
       The fork call conforms to SVr4, SVID, POSIX, X/OPEN, BSD 4.3.

Ако някой може да ми обясни как само с тази функция се хакват shell-ове ще съм му много благодарен. И аз поне ще науча нещо.


Титла: За админите - "програмисти"
Публикувано от: nix в Aug 22, 2005, 15:16
Може да бъде доведена системата до колизия ако се пусне постоянно генериане на чаилд процес, който заема постоянно PID и когато се изчерпат PID/краино множество/ машината прави боом;)
Info:
http://en.wikipedia.org/wiki/Fork_(computing)
http://en.wikipedia.org/wiki/Fork_bomb
/etc/security/limits.conf


Титла: За админите - "програмисти"
Публикувано от: zeridon в Aug 22, 2005, 17:16
fork bomb => resource exhautation => crash и евентуалната надежда че може някъде да се получи buffer overflow или машината да остане в някакво несигурно състояние от където да се експлоитне нещо.


Титла: За админите - "програмисти"
Публикувано от: vic_semionov в Aug 22, 2005, 17:48
@HammerFall: Приятелю, и сред програмистите го има тоя момент, не само сред админите. Някои от тях също са гола вода, а летят у небесата и пърхат с криленца :)


Титла: За админите - "програмисти"
Публикувано от: zeridon в Aug 22, 2005, 18:25
в интерес на истината всеки от админите които познавам има известни познания в областта на програмирането. Просто си трябва. Много полесно е да си нахвърляш някое малко инструментче за определена задача отколкото да я вършиш всеки път на ръка ...


Титла: За админите - "програмисти"
Публикувано от: sdr в Aug 22, 2005, 20:21
До сега не съм видял чист администратор-ветеран. Всичките успяват да са човека оркестър - като трябва администрира като трябва програмира.....

п.с. Чувал съм че има ...


Титла: За админите - "програмисти"
Публикувано от: в Aug 23, 2005, 09:30
При някоя бъгава дистрибуция като Линукс не се и очудвам да работи това fork_bomb. Всяка добра и ценяща сигурността си система има ограничение за това колко процеса може да създаде един потребител. На твоето приятелче админче можеш да кажеш само че ако направи това на OpenBSD ще трябва да го направи под root. Е да ама root кога вземе ела ми се обади. Честно казано наистина като казва vic_semionov "летиш у небесата" ако имаш на предвид само Линукс. Просто си е ориентирал към програмиране за погрешна ОС.


Титла: За админите - "програмисти"
Публикувано от: gog в Aug 23, 2005, 14:58
Цитат
Всяка добра и ценяща сигурността си система има ограничение за това колко процеса може да създаде един потребител

хъм
сигурен ли си че е ограничено
за freebsd /ver 5.4/ по подразбиране е unlimited
колко е ограничението при OpenBSD ?


Титла: За админите - "програмисти"
Публикувано от: vic_semionov в Aug 23, 2005, 15:33
Цитат (gog @ Авг. 23 2005,15:58)
Цитат
Всяка добра и ценяща сигурността си система има ограничение за това колко процеса може да създаде един потребител

хъм
сигурен ли си че е ограничено
за freebsd /ver 5.4/ по подразбиране е unlimited
колко е ограничението при OpenBSD ?

Ограничено е (във FreeBSD) от kern.maxprocperuid, което май зависи от maxusers, а то по default е динамично, но при мене е около 3600 процеса на юзер.

Току що го пробвах на 5.4. Пуснах forkbomb -f, засече ми звука за половин секунда и след това се оправи и си бачка въпреки тия 3600 процеса.

EDIT: ограничението е от sysctl, не от login.conf


Титла: За админите - "програмисти"
Публикувано от: gog в Aug 23, 2005, 15:54
благодаря vic_semionov,
забележката беше съвсем правилна
лимитите може да се проверят още и с командата limits

какво съм гледал не е ясно


Титла: За админите - "програмисти"
Публикувано от: в Aug 23, 2005, 17:39
Ами gog представи си щом на FreeBSD е ограничено, какво е на OpenBSD. Просто самата ОС не ти позволява да стартираш толкова процеси. Не казвам че това е най-сигурната ОС, но все пак доста се работи върху това. А що се отнася до Линукс увисва като Windows след 4 часа брутална работа  :D  :D  :D  Изглежда двете ОС доста си приличат. Сега разбирам и защо се мразят. Както би казал един приятел "Конкуренция Батка...". Ако Windows-a се ползва нормално като хората и той ще работи много добре. А и все пак не е толкова труден за конфигуриране, все пак и там си има конфиурационни файлове като в UNIX-а. Поразровете се и ще намерите доста сходни директории и файлове, че даже синтаксиса им е един и същ. Общо взето всички са грабели с пълни шепи от UNIX-a ама сега всеки се прави на "ни лук ял, ни лук мирисал". Само където Microsoft разправят всеки път, че за сефте чуват за UNIX, а другите създадоха GNU и сега се опитват да заблуждават с "Това не е UNIX". Тук не намесвам обаче SCO, понеже и те са една от компаниите, които се опитват по лесен начин да си докарат много пари. В момента има само една ОС която пази идеята на първоизточника и това е *BSD. Ако не вярвате поразровете се и ще намерите кое от къде е тръгнало.


Титла: За админите - "програмисти"
Публикувано от: в Aug 23, 2005, 17:51
Между другото HammerFall_ не се подценявай. Просто не си изпбрал правилната ОС. Иначе разсъжденията ти са много верни. А иначе познавам админи, които преди това са били програмисти и са много в час с нещата. Просто това твое приятелче явно и идея си няма от програмиране. Съмнявам се този дали някога е писал нещо повече от "Hello world." което го има във всяка книга за начинаещи и дали е разбирал колко мощен компилатор е gcc /*за мен cc*/ Просто се опитва да се прави на умен, а това явление не е само при админите, а и при обикновенните потребители. Поразрови се из форума и ще откриеш много такива "умни" постове. От навярно бъдещи админи  :D  :D  :D А нищо чудно после да вземат да станат и програмисти. Едно е да четеш само код, а друго е да го пишеш, така както и има голяма разлика да приказваш, че не що е много лесно да се направи, а изобщо да не си се хващал да го направиш.
И между другото Let The HammerFall  :)  :)  :)


Титла: За админите - "програмисти"
Публикувано от: nix в Aug 26, 2005, 17:29
Цитат (Guest @ Авг. 23 2005,09:30)
При някоя бъгава дистрибуция като Линукс не се и очудвам да работи това fork_bomb. Всяка добра и ценяща сигурността си система има ограничение за това колко процеса може да създаде един потребител. На твоето приятелче админче можеш да кажеш само че ако направи това на OpenBSD ще трябва да го направи под root. Е да ама root кога вземе ела ми се обади. Честно казано наистина като казва vic_semionov "летиш у небесата" ако имаш на предвид само Линукс. Просто си е ориентирал към програмиране за погрешна ОС.

Млади момко бе зъби ти летиш в небесата!
Една система/POSIX,...etc/ е сигурна точно толкова колкото е старателен нейният администратор,така че тези пропаганда ходи да я размяташ на ученичките в началното училище!


Титла: За админите - "програмисти"
Публикувано от: в Aug 26, 2005, 18:43
Този OpenBSD ме кефи ;-) Сигурно е админчето от прованса. Какъв юнак и как ги разбира работите, бравос ! На такива кадри социалните помощи са им много.


Титла: За админите - "програмисти"
Публикувано от: в Aug 27, 2005, 18:58
Ок, кефете се на линукса си и форк бомбите. Аз пък се кефя на BSD-то и че изобщо нямам грижи с такива смешни програмки.


Титла: За админите - "програмисти"
Публикувано от: HammerFall_ в Aug 28, 2005, 13:07
Цитат (HammerFall_ @ Авг. 22 2005)
Незнам защо, но системните администратори в големите градове /*поне тези които познавам*/ си казват честно, че от програмиране не разбират и не се опитват да спорят за неща, които не разбират, така както аз не споря за неща от тяхната област.

Тъй като не сте разбрали какво точно искам да кажа некя да поясня, преди пак да почнете да се заяждате един друг. В този израз не включвам и хората, които се занимават с програмиране. А това че се иска от един системен администратор да знае дори и да програмира не мога да споря. За това малко преди това имаше публикуван постинг в тоя форум за водачите на МПС сравнено с това какво се изисква от един програмист.
Наистина като писах постингът и не съобразих че в Линукс няма по подразбиране ограничение на процесите на потребителите, но не мисля и че линукс е бъгава ОС. Все пак форк бимбата при стратиране не можа да препълни буфера на Линукса, но просто го доведе до трагично състояние, от което се излиза едниствено чрез "студен рестарт". Дори Дебиан /*на който съм голям почитател*/ не можа да се справи понеже той унищожава процес, който използва максимално много ресурси, а не последователност от процеси. Е да, това в *BSD е ограничено, но все пак Линукс се развива.
И като край искам да споделя само една идея. За да няма разни такива изказвания от нерегистрирани потребители според мен е по-добре да се ограничи постването във форума само от регистрирани. Иначе така всеки търси повод за изява и пише каквото си иска. Дори скоро четох някакъв постинг на някакъв къде хвалеше Windows. Вярно, малко е нестабилна ОС, но пък наистина е лесна за работа, а и от поддръжката им са много любезни, но явно никой не ползва лицензен Windows за да се убеди в това. По-лесно е да караш в типично българска черта - "щом е конкуренция дай да ги псуваме, пък покрай това някой балама може да се върже да ползва нашия продукт" В това същото градче има и само два доставчика на интернет и от едниния се води страхотна антиреклама към другия. Дори клиентите им са малко като феновете на Левски и  ЦСКА. Адски тъпо.
Що се отнася до въпросния админ наистина си няма идея от програмиране, но спори за какво ли не от неща, които е дочул. Благодаря за изказването OpenBSD но ако направят форума само за регистрирани потребители /*макар че се съмнявам*/ вече няма да можеш да се "изявавяш" с глупостите си и да петниш името на една наистина добра ОС. Все пак специано за БГ Линукс има още много да гони Microsoft относно поддръжката и контактите с клиенти, а такива като теб, по скоро отблъскват от колкото да привличат нови потребители. Няма значение към какво е ориентиран Линукс, по-важното е че много лесно и бързо може да се направи както на сървър, така и на десктоп система. Ако не ти харесва форума, просто не пиши в него.

p.s. NIX благодаря за инфото. Това за fork_bomb не го знаех.
На всички останали /*особено на OpenBSD*/ благодаря за безмислената информация, много бързо ми минава времето като почна да ви чета заяжданията, които настина са смешни. :D