Setuid и Setgid са Unix термини, съкращения съответно за „Set User ID“ и „Set Group ID“. Setuid, наричан понякога и „suid“, и „setgid“ са разрешения за достъп, които могат да бъдат присвоени на файлове или директории в Unix-базирана операционна система. Те се използват предимно, за да позволят на системните потребители да изпълняват временно повишени привилегировани двоични файлове, за да изпълняват конкретна задача.
Тези разрешения са както следва:
ЗАДАВАЙТЕ UID
set-user-ID-при изпълнениеПозволява, когато файлът се изпълнява, той да се извършва под привилегиите на собственика. Например, ако трябва да упражняваме root права, за да имаме достъп до определен модул, да записваме в дневници, да четем / записваме устройства и т.н.
SGID, set-group-ID-on-execution позволява, когато файлът се изпълнява, той да се извършва под привилегиите на групата, която притежава файла.
Превръщането на SET UID и GID във файлове и директории, обикновено към последните, ще позволи "наследяване" на характеристики от предишната директория към следващата и всички файлове / директории, които са генерирани / създадени / копирани в директориите SET GID ще има характеристиките от родителската директория.
GID обикновено е разрешен, така че потребителите на група да могат да работят с файловете от същата група, UID ще може да променя собственика на файла и разрешенията за друго лице в ГРУПАТА, ако опцията „кликване“ е активна .
ЗАДАВАЙТЕ GID
SET GID е интересна опция, ако и много потребители ще имат достъп до обща система за съхранение
- SAMBA
- FTP
- HTTP
- Бази данни
Пример за внедряване на SET UID и GID
От терминала изпълняваме следните задачи:
Създаваме примерна директория:
[root @ root] МКДИР ПРИМЕРНие изброяваме директорията:
[root @ root] vdirПроменяме разрешенията за директорията, така че да имат достъп само потребителите от групата „програмисти“, разрешенията са параметри на команда chmod и са следващите
+ s: за да активирате режима на suid
g + s: за активиране на плътен режим
[root @ root] # chown user.programmers
[root @ root] # chmod g + s ПРИМЕР
[root @ root] # vdirИзброяваме директорията и ще видим съдържанието
4 drwxrwxrwx 2 потребителски програмиста ПРИМЕРПо подразбиране никой потребител, който не принадлежи към групата "програмисти", няма да може да работи с файловете в тази директория. От друга страна, потребителите на групата ще могат да работят с файловете в зависимост от техните атрибути, които имат потребителите, ако имат разрешения само за четене или писане.
Някои софтуер и услуги като Samba, FTP, HTTPТе имат специални характеристики, които не се уреждат от тези правила и ги допълват, като ги обогатяват.
Сега, когато сме създали SET UID и GID, ако създадем файл или директория в примера от всеки потребител, той ще наследи характеристиките, които сме дефинирали по -рано, независимо от това кой го е създал и разрешенията, които има.
Като пример можем да кажем, ако създадем файл report.txt в директорията EXAMPLE и потребителят, който го е създал, е root, и въпреки това групата е програмисти, групата, към която ще принадлежи файлът, ще бъде програмист.
Тъй като директорията EXAMPLE е с атрибутите: drwxrwsrwx, което показва, че директорията е SET GID, всички създадени в нея файлове ще принадлежат на потребителя и на групата, посочена от SET GID.
Ако видим списък с няколко файла, той ще изглежда така:
4 drwxr-Sr-x 2 jose програмисти 4096 home.html 4 drwxr-Sr-x 2 carlos програмисти 4096 dependencies.txt 4 drwxr-Sr-x 2 root програмисти 4096 report-project.odfНадявам се този урок да ви помогне. Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка