Специалните разрешения в 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`
, за да видите специалните права на достъп, които са били зададени. Разрешенията, включително специалните права, ще бъдат показани като буквени или цифрови стойности след правата на файловете или директориите.