Внутрішня частина роботи програми

Розпізнавання користувача у X
Програму, яку ви накажете виконати, буде запущено з ідентифікатором користувача root, у загальному випадку ця програма не матиме дозволу для доступу до вашого дисплея X. обходить це обмеження додаванням ідентифікаційної куки (cookie) вашого дисплея до тимчасового файла .Xauthority. Після завершення роботи команди цей файл буде вилучено.
У випадку, якщо ви не використовуєте куки X, ви маєте самі усунути можливі проблеми. виявить неможливість використання кук і не буде додавати куку, але у такому випадку вам слід наперед переконатися, що користувачеві root дозволено доступ до вашого дисплея.

Інтерфейс su
Для отримання належних привілеїв використовує системну команду su. У цьому розділі детально пояснено, яким чином це робить.
Оскільки деякі з реалізацій команди su (наприклад реалізація цієї команди у ) не бажають читати пароль з stdin, створює пару pty/tty і виконує команду su за допомогою її стандартних дескрипторів файлів, з’єднаних з tty.
Для виконання вказаної користувачем програми використовує аргумент параметра -c у сполученні з командою su замість інтерактивної оболонки. Цей аргумент розпізнається всіма відомими авторові оболонками і має без проблем працювати всюди. Команда su передає аргумент -c до оболонки призначення користувача, а оболонка виконує саму програму. Приклад команди: su root -c програма.
Замість виконання команди користувача безпосередньо за допомогою su, виконує невеличку проміжну програму з назвою kdesu_stub. Ця проміжна програма (запущена від імені визначеного користувача) надсилає запит на отримання деякої інформації від за допомогою каналу pty/tty (stdin і stdout проміжної програми), а потім виконує вказану програму. Інформація, яка передається за допомогою проміжної програми: назва дисплея X, кука розпізнавання X (якщо доступний), системна змінна PATH і команда, яку слід виконати. Причиною використання проміжної програми є те, що у куці X міститься особиста інформація, тому цю інформацію не можна передавати за допомогою командного рядка.

Перевірка паролів
перевірить введений вами пароль і повідомить вас про помилку, якщо цей пароль було вказано неправильно. Перевірка здійснюється за допомогою виконання програми перевірки: /bin/true. Якщо перевірку цією програмою пройдено, пароль вважається правильним.

Зберігання паролів
Для зручності у реалізовано можливість збереження паролів. Якщо вам цікаво, чи безпечною є ця можливість, вам слід прочитати цей розділ.
Надання згоди на запам’ятовування паролів у відкриває (невеличку) дірку у системі безпеки вашого комп’ютера. Очевидно, що не дозволяє нікому з ідентифікатором відмінним від ідентифікатора користувача використовувати цей пароль, але, якщо бездумно користуватися цією можливістю, вона знижує рівень доступу до привілеїв користувача root до рівня звичайного (вашого) користувача. Зловмисник, якому вдалося зламати ваш обліковий запис, отримає доступ до прав виконання користувача root. намагається запобігти подібній ситуації. Схема убезпечення, що використовується програмою, принаймні на думку автора програми, достатньо надійна, нижче ви зможете з нею ознайомитися.
користується послугами фонової служби з назвою kdesud. Ця фонова служба очікує на команди у гнізді , розташованому в теці /tmp. Режим доступу до гнізда визначено числом 0600, отже з гніздом може з’єднатися лише користувач з вашим ідентифікатором. Якщо увімкнено можливість зберігання паролів, виконує команди за допомогою цієї фонової служби. Програма записує команду і пароль користувача root до гнізда, а фонова служба виконує команду за допомогою su у спосіб, описаний вище. Після цього команда і пароль не викидаються — вони зберігаються певний час. Цей час визначається часом очікування модуля керування. Якщо протягом цього часу надійде ще один запит на ту саму команду, клієнтській програмі не слід буде вказувати пароль. Щоб запобігти викраденню паролів з фонової служби зловмисником, який зламав ваш обліковий запис (наприклад, за допомогою програми для налагоджування), фонову службу встановлено з ідентифікатором групи nogroup. Це запобігає спробам звичайних користувачів (зокрема, і вашого користувача) отримати паролі від процесу kdesud. Крім того, фонова служба встановлює системну змінну DISPLAY у значення, яке вона мала під час запуску. Все, що може зробити зловмисник, — це виконати програму на вашому дисплеї.
Єдиною слабкою ланкою цієї системи є те, що програми, які ви намагаєтеся виконати, не написано з врахуванням міркувань безпеки (наприклад програми з ідентифікатором користувача root). Це означає, що у них можуть бути помилки, що призводять до переповнення буфера, або інші помилки, які може використати зловмисник.
Використання можливості зберігання паролів є компромісом між міркуваннями безпеки і зручності. Автор радить вам добре все обдумати і вирішити, чи бажаєте ви користуватися цією можливістю, чи ні.