Linux

Разбиране на разрешенията за Linux файлове

Разбиране на разрешенията за Linux файлове

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

Разрешения за Linux файлове #

Основният модел на разрешения за Linux работи чрез свързване на всеки системен файл със собственик и група и присвояване на права за достъп за разрешения за три различни класа потребители:

Собствеността на файла може да бъде променена с помощта на чаун и chgrp команди.

Три типа разрешения на файлове се прилагат за всеки клас потребители:

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

За да видите разрешенията за файлове, използвайте ls команда:

ls -l име на файл
-rw-r - r - 12 linuxize потребители 12.0K 28 април 10:10 име_на_файл | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Група | | | | | + -------------------> 6. Собственик | | | | + --------------------------> 5. Алтернативен метод за достъп | | | + ----------------------------> 4. Други разрешения | | + -------------------------------> 3. Групови разрешения | + ----------------------------------> 2. Разрешения на собственика + ------------------------------------> 1. Тип файл 

Първият знак показва типа на файла. Това може да бъде обикновен файл (-), директория (д), символна връзка (л) или други специални типове файлове. Следващите девет символа представляват разрешенията на файла, три тризнаци по три знака всеки. Първият триплет показва разрешенията на собственика, вторият разрешенията за една група и последният триплет показва разрешенията на всички останали.

В горния пример (rw-r - r--) означава, че собственикът на файла има разрешения за четене и запис (rw-), групата и другите имат само разрешения за четене (r--).

Разрешенията за файлове имат различно значение в зависимост от типа на файла.

Всеки от трите тройни разрешителни може да бъде изграден от следните символи и да има различни ефекти, в зависимост от това дали са зададени във файл или в директория:

Ефект на разрешенията върху файлове

РазрешениеХарактерЗначение в досието
Прочети-Файлът не се чете. Не можете да видите съдържанието на файла.
rФайлът е четим.
Пишете-Файлът не може да бъде променян или модифициран.
wФайлът може да бъде променен или модифициран.
Изпълни-Файлът не може да бъде изпълнен.
хФайлът може да бъде изпълнен.
сАко се намери в потребител триплет, той задава сетуид малко. Ако се намери в група триплет, той задава setgid малко. Това също означава, че х флагът е зададен.
Когато сетуид или setgid флаговете са зададени върху изпълним файл, файлът се изпълнява със собственика на файла и / или привилегиите на групата.
ССъщото като с, но х флаг не е зададен. Този флаг рядко се използва за файлове.
TАко се намери в други триплет, той задава лепкав малко.
Това също означава, че х флагът е зададен. Този флаг е безполезен за файлове.
TСъщото като, T но х флаг не е зададен. Този флаг е безполезен за файлове.

Ефект на разрешенията върху директории (папки)

Директориите са специални типове файлове, които могат да съдържат други файлове и директории.

РазрешениеХарактерЗначение в Директорията
Прочети-Съдържанието на директорията не може да бъде показано.
rСъдържанието на директорията може да бъде показано.
(д.ж., Можете да изброите файлове в директорията с ls.)
Пишете-Съдържанието на директорията не може да се променя.
wСъдържанието на директорията може да бъде променено.
(д.ж., Можете да създавате нови файлове, да изтривате файлове ... и т.н.)
Изпълни-Директорията не може да бъде променена на.
хДиректорията може да се навигира с помощта cd.
сАко се намери в потребител триплет, той задава сетуид малко. Ако се намери в група триплет задава setgid малко. Това също означава, че х флагът е зададен. Когато setgid флаг е зададен в директория, новите файлове, създадени в него, наследяват идентификатора на групата директории (GID) вместо основния идентификатор на групата на потребителя, създал файла.
сетуид няма ефект върху директориите.
ССъщото като с, но х флаг не е зададен. Този флаг е безполезен за директориите.
TАко се намери в други триплет, той задава лепкав малко.
Това също означава, че х флагът е зададен. Когато лепкавият бит е зададен в директория, само собственикът на файла, собственикът на директорията или административният потребител могат да изтриват или преименуват файловете в директорията.
TСъщото като T, но х флаг не е зададен. Този флаг е безполезен за директориите.

Промяна на разрешенията за файлове #

Разрешенията за файлове могат да се променят с помощта на chmod команда. Само root, собственикът на файла или потребител с права на sudo могат да променят разрешенията на файл. Бъдете особено внимателни, когато използвате chmod, особено при рекурсивна промяна на разрешенията. Командата може да приеме един или повече файлове и / или директории, разделени с интервал като аргументи.

Разрешенията могат да бъдат посочени чрез символен режим, цифров режим или референтен файл.

Символичен (текстов) метод #

Синтаксисът на chmod команда при използване на символния режим има следния формат:

chmod [ОПЦИИ] [ugoa…] [- + =] перми ... [, ...] ФАЙЛ… 

Първият набор от флагове ([угоа…]), потребителски флагове, определя класовете на потребителите, за които се променят разрешенията за файла.

Когато флагът на потребителите е пропуснат, той по подразбиране е а.

Вторият набор от флагове ([- + =]), операционните флагове, определя дали разрешенията да бъдат премахнати, добавени или зададени:

Разрешенията (къдрене .. ) са изрично зададени, като се използва или нула, или една или повече от следните букви: r, w, х, х, с, и T. Използвайте една буква от комплекта u, ж, и o при копиране на разрешения от един в друг потребителски клас.

Когато задавате разрешения за повече от един потребителски класове ([, ...]), използвайте запетаи (без интервали), за да разделите символните режими.

Ето няколко примера за това как да използвате chmod команда в символен режим:

Числен метод #

Синтаксисът на chmod команда при използване на символния режим има следния формат:

chmod [ОПЦИИ] НОМЕР ФАЙЛ .. 

Когато използвате цифровия режим, можете да зададете разрешенията и за трите потребителски класа (собственик, група и всички останали) едновременно.

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

Всяко разрешение за писане, четене и изпълнение има следната цифрова стойност:

Номерът на разрешенията за конкретен потребителски клас е представен от сумата от стойностите на разрешенията за тази група.

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

Използвайки метода по-горе, стигаме до числото 754, което представлява желаните разрешения.

За да настроите сетуид, setgid, и лепкаво малко флагове, използвайте четирицифрено число.

Когато се използва 4-цифрено число, първата цифра има следното значение:

Следващите три цифри имат същото значение като при използване на трицифрено число.

Ако първата цифра е 0, тя може да бъде пропусната и режимът може да бъде представен с 3 цифри. Цифровият режим 0755 е същото като 755.

За да изчислите числовия режим, можете да използвате и друг метод (двоичен метод), но той е малко по-сложен. Знанието как да се изчисли числовият режим с помощта на 4, 2 и 1 е достатъчно за повечето потребители.

Можете да проверите разрешенията на файла в числовата нотация с помощта на статистика команда:

stat -c "% a" име на файл 

Ето няколко примера за това как да използвате chmod команда в цифров режим:

Заключение №

В Linux достъпът до файловете е ограничен с разрешения за файлове, атрибути и собственост. За да промените разрешенията на файла, използвайте chmod команда.

Ако имате въпроси или отзиви, не се колебайте да оставите коментар.

Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...