Спеціальні права доступу в Linux - це розширені права доступу, які можуть бути встановлені на файли або директорії та надають додаткові можливості або обмеження.
Вони дають змогу керувати привілеями та безпекою системи точніше, ніж звичайні права доступу (читання, запис, виконання). Також спеціальні права доступу в Linux надають особливі можливості або обмеження для користувача, групи або файлів. Вони включають такі права доступу:
(execute
): запускати виконувані файли або використовувати команду для виконання певних дій.(read
): переглядати вміст файлу або директорії.(write
): змінювати вміст файлу або створювати, змінювати чи видаляти файли в директорії.У системі Linux існують різні права доступу до файлів і каталогів, які визначають, які дії можуть бути дозволені або заборонені для конкретного користувача або групи користувачів. Нижче перераховані основні спеціальні права доступу до файлів у Linux:
"setuid
"(suid
): при встановленні права"setuid
" на виконуваний файл, процес запускається з привілеями власника файлу, а не користувача, який його запускає. Це дає змогу забезпечити тимчасове скидання привілеїв для виконання певних завдань."setgid
"(sgid
): у разі встановлення права"setgid
" на виконуваний файл, процес запускається з привілеями групи власника файлу, а не групи користувача, який його запускає. Це дає змогу забезпечити спільне використання файлів і ресурсів між членами однієї групи."sticky bit
": встановлення"sticky bit
" на каталог дає змогу тільки власнику файлу видаляти або переміщати файли всередині каталогу, навіть якщо інші користувачі мають права запису в цей каталог. Це корисно для загального використання каталогу, такого як /tmp, щоб запобігти видаленню або зміні файлів іншими користувачами.Зазвичай ці спеціальні права вказуються разом зі стандартними правами доступу (rwx) і позначаються символічними або числовими значеннями. Наприклад, setuid
позначається символом"s
" замість"x
" для власника виконуваного файлу.
Якщо ви хочете встановити або змінити спеціальні права доступу до файлів у Linux, ви можете використати команду chmod з відповідними аргументами. Наприклад, для встановлення"setuid
" на виконуваний файл, ви можете використовувати команду"chmod u+s filename
".
Спеціальні права доступу (SUID, SGID і Sticky bit) можуть бути встановлені на файли або директорії за допомогою команди chmod
в Linux.
Для встановлення SUID:
chmod +s file_name
Для встановлення SGID на директорію:
chmod +s directory_name
Для встановлення Sticky bit на директорію:
chmod +t derectory_name
Примітка: Встановлення SUID на файли рекомендується обмежити, оскільки це може становити потенційну загрозу безпеці системи. Використовуйте спеціальні права доступу з обережністю і тільки в ситуаціях, де це добре обґрунтовано і не створює вразливостей.
Щоб переглянути встановлені спеціальні права доступу, можна скористатися командою `ls-l`
. Права доступу, включно зі спеціальними правами, будуть відображені у вигляді літерних або числових значень після прав доступу до файлу або директорії.