ПредишенСледващото

Както при всяка друга многопотребителска система, операционни системи Unix имат потребителски механизъм за контрол на достъпа до определени системни ресурси (време на процесора, паметта файлове, директории и т.н.). Основните участници на този механизъм са: потребителя (потребител), група (група), други (други), основните права на достъп до Unix, са:

  • права да четете;
  • Разрешение за записване;
  • права на достъп за извършване;

Съответно, на Unix, права за достъп, както и участниците са групирани по три, четене / запис / изпълнение за потребителя / групата / друго.

Освен посочените по-горе разрешения, Unix операционни системи. Той поддържа "файлови знамена." да се осигури допълнително ниво на система за контрол, мониторинг за защита на обекти и. Например, с помощта на флагове, можете да предотвратите изтриване на файлове, дори и от ползвателя на корен.

Всеки потребител на системата са определени документи за самоличност, потребителско име (потребителско име) и GroupID (група ID), то е за тях операционната система определя собственика и групата на система за обект. Символичните имена са назначени единствено за улесняване на четенето потребители.

Всеки процес в Unix операционна система, има не двама, а четирима идентификатор е реално потребителско име (UID) и ефективно потребителско име (UID), както е най-реален и ефективен групата ID GroupID (GID).
Реал потребителско име (Real GroupID) - Реални числа се използват за отчитане на използването на системните ресурси.
Ефективно потребителско име (в сила GroupID) - нов идентификатор, процесът на приемната е вече по време на работа се използва за определяне на правата за достъп.

Процеси стартира автоматично (например при започване на системата), също е готов потребителско име. който е определен за стартиране на програми (Cron, inetd и т.н.), в нормални случаи потребителско име наследено от процеса на родител. Някои от тези процеси - "родители" могат да се присвоят, процесът на дете - "Потомците", потребителско име. не съвпада с неговото.

Понякога, работещ процес, може да се промени по време на изпълнение на техните документи за самоличност. Това се случва, когато правата на достъп до преписката, определени допълнителните битове, SUID (Set ID потребител - малко потребителското си име на климата) и SGID (Set група ID - Bit Група ID промяна). Когато потребителят стартира файла или процеса, който е инсталиран един от тези битове, процесът е временно назначен на правата на собственика на файла (не е този, който се изпълнява). По този начин, един нормален потребител може да изпълнява команди като корен.

Както бе споменато по-горе, правото на достъп до файлове и директории, се определят от реално потребителско име и GroupID Реал. Ако тази идентификация не се променя по време на изпълнение, Реал потребителско име (истинско GroupID) и ефективно потребителско име (в сила GroupID) съвпадат.

гарантиране на правата на достъп до система на операционната система Unix, той има числова и символичен израз. Chislovae, както следва:

Има едно малко да осмична стойност 1000. Така нареченият Stiky-бит (велкро). Ако този бит е разположен на директория, тя съдържа файлове, които имат право да изтрие и да ги преименувате, за всеки случай, ако потребителят е собственик на директория, собственик на файла или е потребителят корен.

Символичните изрази за определяне на правата за достъп. Като аргументи, командата коригират. вместо осмична стойности, използвани азбучни еквивалента.

Какво да се види на разрешения и владения на файлове и директории в режим на обява, можете да използвате командата ли с -l флаг.

Този списък показва, че е собственик на всички файлове е основната потребителя и колело група. Първият символ в лявата колона на правата за достъп, е вида на обекта, обектите могат да бъдат от следните типове:

В горния пример: file.txt и file.sh - са файлове, test_dir - директория.

От втората бит, записът се разделя на 3 символа за потребителя, за групата на другите, в този случай:

  • file.txt файл. достъпно за четене и запис - потребителят само за четене - група и прочетете - друг;
  • file.sh. файл на разположение да чете, пише и изпълнява - потребител само за четене - група, която да се чете - друг;
  • test_dir. и директория има следните разрешения за потребителя: четене, писане, изпълнение; за четене на групата, се изпълни; за другите: прочетете, изпълнение;

Ако малко SUID. в раздел 2 (права за достъп на потребителя), вместо на стойност "х". Това ще бъде "S". ако малко SGID. така същия символ, ще бъде поставен "S". но в раздел 3 (права за достъп на групата), и ако е настроено добре Styky-малко. в последната позиция, раздел 4 (права за достъп, от друга), се определят със символа "Т".

Ако някое от тези битове е била определена, а когато това е определен съответния битов код изпълнение ще бъде зададена "S" за SUID и SGID и "T" за Stiky-малко. която сигнализира за грешка и атрибутите на данните ще бъдат игнорирани.

Да не са в ред, за да се отбележи, че в операционната система Unix, стойностите на правата за достъп за файлове и директории са малко по-различни.

  • R (Прочетена) - четене. Съответният потребител (процес) има право да се запознае със съдържанието на файла и копирате този файл.
  • w (запис) - запис. Съответният потребител (процес) има право да редактира, променя, изтриете съдържанието на файла, за да го добавите нещо (например съдържанието на друг файл). Все пак, това не дава правото да изтрива или преименувате файла себе си, това се определя от правата за достъп до директорията, където се намира файла.
  • х (Изпълнение) - изпълнение. Дава право на съответния потребител (процес), за да стартирате файла, при условие, че тя е изпълнима програма или скрипт.

Важно е да се помни, че системата е напълно проверка на пътя до конкретна поддиректория или файл, съществуването на права за достъп до всеки участък от пътя, а ако кока или част от пътя, не задавайте на съответния бит на правата за достъп (X), потребителят ще бъде отказан достъп. Казано по-просто, има път: / ЮЕсАр / Начало / VDS-администратор / public_html /. дори ако потребителят разполага с достатъчно права за public_html поддиректорията. но на по-висока директория, дом. х малко не е зададен, когато се опитате да отидете в поддиректория, тя ще бъде отказан достъп.

файлови знамена

В допълнение към тези права за управление на атрибутите на обектите в операционната система Unix, има и друга, така да се каже, по-мощен инструмент - набор от файлови знамена.

Знамена файлове, които работят в световен мащаб, които засягат в еднаква степен за всички потребители, включително и собственика на файла и на ползвателя на корен. Вярно е собственик на файла, както и на ползвателя на корен може да премахне знамена и да направи файла може ли искали, но това зависи от това какво и кой флага е зададен и на какво ниво на сигурност, системата работи в момента.

  • По поръчка - са на разположение флагове за промяна на собственика на пъпната връв и ползвателят на корен.
  • Superuser - на разположение флагове за промяната, само потребителят корен.

В Unix операционни системи, следните флагове:

суперпотребителски знамена

  • арка (архивирани) - архивен файл (само потребителят корен).
  • sappnd (sappend) - в този файл, може да се изгради само върху, тоест, съществуващата информация не може да бъде променено. Ако сигналът е зададен в директорията, не можете да изтриете или преименувате файлове, но можете да създадете или да копирате (само корен потребител)
  • schg (schange, simmutable) - неизменен файл не може да се преименува или модифицирани, нито се изтриват. Ако този флаг е разположен на директория, не можете да добавяте или премахвате файлове, но да променя съдържанието на съществуващ, можете. (Само потребителят корен)
  • sunlnk (SUNLINK) - файлът не може да бъде преименувана или изтрита. Съдържанието може да бъде променена с подходящи права за достъп. (Само корен потребител)

потребителски флагове

  • nodump - да не се включва в този файл на сметището. (Собственик на файла и ползвателят на корен)
  • uappnd (uappend) - същото като за потребителя корен, плюс за собственика на файла.
  • uchg (uchange, uimmutable) - същото като за потребителя корен, плюс за собственика на файла.
  • uunlnk (uunlink) - същото като за потребителя корен, плюс за собственика на файла.

Например, за да инсталирате schg (непроменяема) флаг върху файла. изпълнете следната команда:

Вижте поставените знамена може LS гр опции -lo екип.

В допълнение, можете да зададете няколко знамена, разделени със запетаи:

Премахване на флага, като към името си, представката "не":

Така че, тъй като е възможно да се върнете всички знамена, за това, че вместо знаме, просто казано "0" (нула).

Основни команди за създаване и промяна на правата за достъп и работа с флагове в Unix операционни системи

Основните инструменти за работа с разрешения и знамена в операционната система Unix, са както следва:

  • LS -l, LS -lo Directory обява, без знамена и флагове
  • chown Промяна на собственика на обекта
  • Инсталиране коригират, изтриване, промяна на разрешенията за даден обект
  • chflags монтаж, отстраняване, да промените флаговете на файловете
Подкрепете проекта - споделете линка, благодаря!