Page 56 - 2578
P. 56

завгодно.  Однак  і  тут  є  один  виняток.  Оскільки  біт  "x"  на
                            файлі  є  основною  ознакою  "виконуваності"  цього  файла,
                            навіть  root  не  зможе  переконати  систему,  що  файл  є
                            програмою  і  його  можна  виконувати,  поки  не  встановить  в
                            атрибутах цей біт.
                                Додаткові біти доступу
                                Окрім  розглянутих  вище  бітів  (читання,  запис  та
                            "виконуваність"),  що  встановлюються  роздільно  по  трьох
                            категоріях  користувачів,  є  ще  три  біти  доступу,  які  можна
                            віднести до файла в цілому, оскільки їхня дія не залежить від
                            того, який користувач, з якої категорії намагається звернутися
                            до файла. Та й призначення цих бітів полягає не в обмеженні
                            доступу  до  файла  чи  директорії,  а  в  зміненні  певних
                            властивостей файлів директорій.
                                Біт suid розшифровується як Set user ID, перекладається як
                            "установити       ідентифікатор      користувача".     Оскільки
                            адекватного  українського  терміна  не  існує,  його  зазвичай
                            називають "суїдний" біт, а файли, на яких його установлено—
                            "суїдними". Призначення його полягає в тому, що якщо його
                            установлено на файлі, котрий є програмою, то при виконанні
                            ця  програма  автоматично  змінює  "ефективний  userID"  на
                            ідентифікатор  того  користувача,  котрий  є  власником  цього
                            файла. Тобто, незалежно від того, хто запускає цю програму,
                            вона при виконанні має права хазяїна цього файла. Зазвичай
                            це робиться для того, щоби користувач міг виконати дії, котрі
                            потребýють привілеїв rооt'а (наприклад, змінити свій пароль),
                            а власником такої програми має бути користувач root.
                                Зрозуміло, що така програма є потенційно "небезпечною".
                            У  "нормальному"  випадку  вона  не  дозволить  звичайному
                            користувачеві  зробити  те,  що  виходить  за  межі  його
                            повноважень,     наприклад,     програма    passwd     дозволить
                            користувачеві  змінити  лише  власний  пароль,  але  не  паролі
                            інших  користувачів.  Але  навіть  незначна  помилка  в  такій

                                                           55
   51   52   53   54   55   56   57   58   59   60   61