Какво представлява Setuid?

Setuid, който означава зададен потребителски идентификатор за изпълнение, е специален вид разрешение за файлове в Unix и Unix-подобни операционни системи като Linux и BSD. Това е инструмент за сигурност, който позволява на потребителите да изпълняват определени програми с повишени привилегии.

Когато е зададено разрешение за изпълним файл на setuid, потребителите могат да изпълняват тази програма с ниво на достъп, което съответства на потребителя, който притежава файла. Например, когато потребител иска да промени паролата си, те изпълняват командата passwd. Програмата passwd е собственост на root акаунта и е маркирана като setuid, така че потребителят временно получава root достъп за тази много ограничена цел.

Когато разглеждате разрешенията на файла с командата ls -l, разрешението за setuid се показва като " s " в битовата позиция "user execute". Например:

 ls -l / usr / bin / passwd 
 -rwsr-xr-x 1 root 54192 Nov 20 17:03 / usr / bin / passwd 

Задаване на setuid разрешение за файл

За да зададете разрешението на setuid за изпълним файл, използвайте идентификатора на разрешението u + s с командата chmod :

 myfile на chmod u + 

Неизпълними файлове могат да бъдат маркирани като setuid, но няма ефект; маркирането им setuid не ги прави автоматично изпълними. В този случай битът за разрешение се показва като главна " S ". Например:

 ls -l myfile 
 -rw-r - r-- 1 потребител 0 6 март 10:45 myfile 
 myfile на chmod u + 
 ls -l myfile 
 -rwSr - r-- 1 потребител 0 6 март 10:45 myfile 

Въпреки това, ако след това настроите файла да бъде изпълним от потребителя с разрешение u + x, разрешението за setuid влиза в сила. След това ще бъде представен в малката обява с малки букви " s ":

 chmod u + x myfile 
 ls -l myfile 
 -rwsr - r-- 1 потребител 0 6 март 10:45 myfile 

Setgid

Setgid е еквивалент на setuid, който дава разрешение на групата, която притежава файла, известна като setgid . Той работи по същия начин, а индикаторът " s " или " S " се показва в групата изпълнява позиция на изхода на ls -l . Например:

 chmod g + s myfile2 
 ls -l myfile2 
 -rw-r-sr-- 1 потребител 0 6 март 10:46 myfile2 

Компютърни съкращения, изпълним файл, Linux, разрешение, термини за сигурност