СУІД
Липкий біт застосовується до виконуваним програмам, що слабшає системи , щоб зберегти образ програми в пам'яті після того, як програма закінчить роботу.
Але я не знаю, що це зберігається в пам'яті. І як я їх бачу в цьому випадку.?
СУІД
Липкий біт застосовується до виконуваним програмам, що слабшає системи , щоб зберегти образ програми в пам'яті після того, як програма закінчить роботу.
Але я не знаю, що це зберігається в пам'яті. І як я їх бачу в цьому випадку.?
Відповіді:
Це, мабуть, одна з моїх найпокітніших речей, яку люди весь час псують. Біт SUID / GUID і липкий біт - це дві абсолютно різні речі.
Якщо ви займаєтесь цим, man chmod
ви можете прочитати про SUID та стики. Сторінка " man" також доступна тут .
витяг
Букви rwxXst вибирають біти режиму файлу для постраждалих користувачів: читати (r), писати (w), виконувати (або шукати каталоги) (x), виконувати / шукати лише в тому випадку, якщо файл є каталогом або вже має дозвіл на виконання для деяких user (X), встановити ідентифікатор користувача або групи для виконання (s) , прапор обмеженого видалення або липкий біт (t) .
Наведена вище сторінка man намагається сказати, що позиція, яку займає х біт у rwxrwxrwx для восьмикутника (1-а група rwx) та восьмерики групи (2-а група rwx), може приймати додатковий стан, коли x стає a s. У цьому випадку цей файл при виконанні (якщо це програма, а не просто оболонка) запускається з дозволами власника або групи файлу.
Отже, якщо файл належить root і біт SUID увімкнено, програма запуститься як root. Навіть якщо ви виконуєте його як звичайний користувач. Те саме стосується біта GUID.
витяг
НАЛАШТУВАННЯ СТУДІТУ ТА НАСТРОЙКИ
chmod очищує біт ідентифікатора групи set звичайного файлу, якщо ідентифікатор групи файлу не відповідає ефективному ідентифікатору групи користувача або одному з додаткових ідентифікаторів групи користувачів, якщо користувач не має відповідних привілеїв. Додаткові обмеження можуть спричинити ігнорування встановлених ідентифікаторів користувача та бітів ідентифікаторів групи груп MODE або RFILE. Така поведінка залежить від політики та функціональності базового виклику системи chmod. Коли ви сумніваєтесь, перевірте основні поведінки системи.
chmod зберігає ідентифікатор set-user-ID та біт-ідентифікатор групи set, якщо явно не вказано інше. Ви можете встановити або очистити біти в символічних режимах, таких як u + s і gs, а також можна встановити (але не зрозуміло) біти за допомогою цифрового режиму.
no suid / guid - встановлюються лише біти rwxr-xr-x .
$ ls -lt b.pl
-rwxr-xr-x 1 root root 179 Jan 9 01:01 b.pl
ввімкнено виконуваний біт suid & користувача (малі літери) - встановлюються біти rwsr-xrx .
$ chmod u+s b.pl
$ ls -lt b.pl
-rwsr-xr-x 1 root root 179 Jan 9 01:01 b.pl
suid увімкнено та виконуваний біт відключений (верхній регістр S) - встановлюються біти rwSr-xr-x .
$ chmod u-x b.pl
$ ls -lt b.pl
-rwSr-xr-x 1 root root 179 Jan 9 01:01 b.pl
Увімкнено виконуваний біт Guid & Group (малі літери) - встановлюються біти rwxr-sr-x .
$ chmod g+s b.pl
$ ls -lt b.pl
-rwxr-sr-x 1 root root 179 Jan 9 01:01 b.pl
біт rwxr-Sr-x встановлений біт rwxr-Sr-x встановлений і відключений .
$ chmod g-x b.pl
$ ls -lt b.pl
-rwxr-Sr-x 1 root root 179 Jan 9 01:01 b.pl
Клейкий біт з іншого боку позначається як t
, наприклад, з /tmp
каталогом:
$ ls -l /|grep tmp
drwxrwxrwt. 168 root root 28672 Jun 14 08:36 tmp
Цей біт завжди повинен був називатися "бітом обмеженого видалення", враховуючи, що він справді конотує. Якщо цей біт режиму включений, він робить такий каталог, що користувачі можуть видаляти лише файли та каталоги в ньому, власниками яких є.
витяг
ОБМЕЖЕНО ВІДКЛЮЧИТИ ЗАСТАВ АБО СТІЙКИЙ БІТ
Прапор обмеженого видалення або бітний липкий біт - це єдиний біт, інтерпретація якого залежить від типу файлу. Для каталогів він
не дозволяє непривілейованим користувачам видаляти або перейменувати файл у довіднику, якщо вони не володіють файлом чи каталогом; це називається прапором обмеженого видалення для каталогу, і він зазвичай зустрічається в каталогах, що записуються у світі, як / tmp. Для звичайних файлів у деяких старих системах біт зберігає текстове зображення програми на пристрої підкачки, щоб воно швидше завантажувалось під час запуску; це називається липким бітом.
ls
. Очевидно, що лише супервайзер міг встановити клейкий біт на файл. Це стало менш важливим після введення віртуальної пам’яті та спільних бібліотек, особливо, коли пейджери ставали розумнішими та могли динамічно вирішувати, які сторінки зберігати.
ed
липке.
"Клейкий біт, застосований до виконуваних програм, що позначають систему, щоб зберегти зображення програми в пам'яті після завершення роботи програми."
Я думаю, що це досить застаріла інформація, сьогодні більшість сучасних Unixes ігнорують це. В Linux клейкий біт актуальний лише для каталогів. Дивіться тут і досить інформативну статтю Вікіпедії .
У будь-якому випадку, у цій старій поведінці зображення (лише "код", а не дані) зберігалося лише у віртуальній пам'яті - ненормовано, не в реальній пам'яті, щоб наступного разу запустити її швидше.
Що таке липкі шматочки?
Клейкий біт - це біт дозволу, який встановлюється в каталозі, який дозволяє тільки власникові файлу в межах цього каталогу або кореневому користувачу видалити або перейменувати файл. Жоден інший користувач не має необхідних привілеїв, щоб видалити файл, створений іншим користувачем.
Це захід безпеки, щоб уникнути видалення критичних папок та їх вмісту (підкаталогів та файлів), хоча інші користувачі мають повні дозволи.