Page 50 - 2578
P. 50

які  надходять  мережею  (зазвичай  їх  запускає  програма-
                            "диспетчер"  inetd).  Окрім  того,  існує  низка  програм,  які  для
                            виконання  певних  допоміжних  дій  самі  запускають  інші
                            програми, в цьому разі говорять, що процес-"батько" запустив
                            процес-"нащадок".  Зрозуміло, що  цим програмам  (процесам)
                            слід обмежити доступ до файлів. І, врешті, по-третє, у певних
                            випадках  є  надто  корисно,  щоби  програма,  запущена
                            користувачем,  мала  більше  прав,  аніж  зазвичай  має  цей
                            користувач. Приміром, звичайний користувач не може навіть
                            читати  файл,  у  якому  "заховано"  паролі  всіх  користувачів.
                            Водночас  будь-який  користувач  має  мати  можливість
                            змінювати  свій  особистий пароль,  не  звертаючись  для  цього
                            до адміністратора, але для цього йому треба мати можливість
                            записати  дещо  у  файл  паролів.  Отже,  програма,  котра  це
                            здійснює  (passwd),  в  момент  виконання  має  мати  права
                            набагато більші, аніж користувач, котрий її запускає.
                                Отже:
                                -  кожен  процес  має  ідентифікатор  користувача  (userID);
                            зазвичай  він  збігається  з  usеrID  того  користувача,  котрий
                            запустив цей процес;
                                -  процеси,  запущені  автоматично,  теж  мають  userID,
                            начебто  їх  запустив  реальний  користувач;  чий  саме  userID
                            одержують  ці  програми,  зазвичай  визначається  тими
                            програмами, які стартують: програмою-завантажувачем, cron,
                            inetd  тощо;  у  найпростіших  випадках  програми-"нащадки"
                            лише "успадковують" userID від програми-"батька", але деякі
                            "батьки" можуть запускати програми з іншим userID, котрий
                            не збігається з власним;
                                -  деякі  програми  в  процесі  виконання  можуть  змінювати
                            свій userID і, відповідно, набувати прав, яких сам користувач
                            не  мав.  Природно,  для  того,  щоби  програма  могла  це
                            здійснити, адміністратор має "дозволити" їй таке поводження
                            (докладніше про це буде сказано нижче). До речі, зміна usеrID

                                                           49
   45   46   47   48   49   50   51   52   53   54   55