Поради естеството на Linux системите има много ограничения и настройки за оторизация за файлове и директории по отношение на сигурността. Единственият потребител с всички тези привилегии е root потребителят.

Следователно, докато използваме системата, ако сме root потребители, предупреждението пред нас няма да бъде a ограничителен механизъм и в някои случаи промените, които ще направим, могат да причинят големи проблеми с система. Ето защо познаването на авторизациите на потребители на Linux е много важно за всеки потребител на Linux.

Действия, които потребителите могат да предприемат по отношение на файлове и директории

Всеки потребител може да действа в рамките на предоставените му пълномощия. Има три действия, които потребителите могат да предприемат по отношение на файлове или директории.

  • прочети (r): Става въпрос за това да можете да видите списъка с папки и съдържанието на файла.
  • пиша (w): Става въпрос за извършване на промени във файла или папката.
  • изпълни (x): Става въпрос за стартиране на целевия файл или възможност за достъп до папката.
instagram viewer

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

Влез в ls -l команда, за да видите какви разрешения има текущият ви файл.

Частите, които виждаме като drwxr-xr-x и -rw-r--r-- вижте разрешенията за файлове. Писмото д в началото на някои изрази показва, че този израз е директория. Ако обясним останалите части поотделно, частите, разделени с - знак представлява потребителската група с това разрешение.

За по-добро разбиране ги разделете на групи по три, с изключение на буквата д.

rwxr-xr-x = rwxr-xr-x

rw-r--r-- = rw-р--р--

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

Съответно, разрешенията в горните файлове са:

  • r: привилегия за четене
  • w: привилегия за писане
  • х: привилегия за изпълнение
  • rwx: потребителят, който притежава файла, може да чете, пише, изпълнява
  • r-x: други потребители могат да четат, изпълняват, но не и да пишат

Промяна на разрешенията с chmod

Само root, който е най-упълномощеното лице, може да промени привилегията за достъп. Този процес на промяна се извършва лесно с chmod команда.

Параметрите и значенията на chmod командата са дадени по-долу.

  • u: Собственик на файла или директорията
  • ж: Потребители в същата група като собственика на файла или директорията
  • о: Други потребители
  • а: Отворен за всички
  • =: Синхронизиране на оторизация
  • +: Добавяне на разрешение
  • -: Изтриване на разрешение

След като видяхте значенията на параметрите, можете да разгледате примерна операция. За това, създайте примерна директория и следвайте стъпките по-долу по ред.

Използвай ls -l команда, за да прегледате разрешенията на файловете в папката, която сте създали. Докато правите това, помислете, че структурата на разрешенията на вашите файлове е както следва.

ls -l
общо 4
1 коренкорен 0 апр 25 16:20пример.текст
1 коренкорен 0 апр 25 16:21ex_File
д 2 коренкорен 4096 апр 25 16:21ex_Folder
1 коренкорен 0 апр 25 16:20ex_Text

След това отворете всички файлове в папката с помощта на * символ и оставете write (w) да стане публично използван chmod +w * команда.

chmod +w *
ls -l
общо 4
--w-r-x 1 коренкорен 0 апр 25 16:20пример.текст
--w-r-x 1 коренкорен 0 апр 25 16:21ex_File
d-w-r-x 2 коренкорен 4096 апр 25 16:21ex_Folder
--w-r-x 1 коренкорен 0 апр 25 16:20ex_Text

Сега опитайте да дадете разрешение за четене-запис-изпълнение (rwx) на потребители в групата (g), разрешения за запис (w) на потребители (u) и само разрешения за изпълнение (x) на други потребители.

chmod g+rwx, u+w, o+x *
ls -l
общо 4
--w-rwx--x 1 коренкорен 0 апр 25 16:20пример.текст
--w-rwx--x 1 коренкорен 0 апр 25 16:21ex_File
d-w-rwx--x 2 коренкорен 4096 апр 25 16:21ex_Folder
--w-rwx--x 1 коренкорен 0 апр 25 16:20ex_Text

И накрая, можете да използвате команда като тази по-долу, за да деуторизирате файлове във вашето местоположение.

chmod a-rwx *
<код>ls -l
общо 4
1 коренкорен 0 апр 25 16:20пример.текст
1 коренкорен 0 апр 25 16:21ex_File
д 2 коренкорен 4096 апр 25 16:21ex_Folder
1 коренкорен 0 апр 25 16:20ex_Text

Освен тези употреби, процесите на упълномощаване могат да бъдат изразени и в числови термини, които вероятно сте срещали преди и сте използвали, без да го осъзнавате.

За всяка оторизация са дефинирани номера

Собственик на файла Потребители в същата група като собственика на файла Други потребители
r 4 4 4
w 2 2 2
х 1 1 1

Например, представете си, че искате да дадете всички разрешения само на собственика на файла. За това първо трябва да съберете еквивалента на числата на моделите за оторизация. С други думи, тъй като ще дадете всички разрешения, r=4 + w=2 + x=1=общото число е 7.

Искате да предоставите това разрешение само на собственика на файла. За да направите това, можете леко да промените chmod rwx- команда, която обикновено използвате. Ако използвате команда като chmod 700 файл, само собственикът на файла ще има всички привилегии.

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

Можете да използвате уравнението r (4)+w (2)+x (1)=7 за всички привилегии, дадени на собственика на файла.

Упълномощаването за запис, което давате на потребителите в общата група със собственика на файла, ще използва числото 2, което е числовият еквивалент на знака за запис (w). Разрешението за четене, което ще дадете на други потребители, ще използва числото 4, което е цифровият еквивалент на символа за четене (r).

Както може да се разбере от изхода, числовите еквиваленти трябва да са изпълнили желаното от вас разрешение.

Направете вашите настройки за оторизация валидни в поддиректории с -R

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

Например избройте правата за достъп на папката с име "ex_Folder" на вашето местоположение. Резултатът ще бъде изход, в който се посочва, че не са намерени права.

ls -l 
общо 4
1 коренкорен 0 апр 25 16:20пример.текст
-rwx-w-r-- 1 коренкорен 0 апр 25 16:21ex_File
д 2 коренкорен 4096 апр 25 16:21ex_Folder
1 коренкорен 0 апр 25 16:20ex_Text

След това отидете в папката с име "ex_Folder".

След това обратно към родителската директория. Използвай параметър и напишете команда като chmod -R 422 ex_Folder така че добавените разрешения за достъп са валидни за всички подфайлове.

В резултат на това всички файлове, включително всички файлове и директории и подпапки, са оторизирани по начин, който съответства на оператора 422.

Най-доброто решение за случайно изтрити файлове: chattr

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

Можете да използвате вашия lsattr команда за изброяване на такива файлове.

Опитайте се да защитите main.cpp файл, който се появява тук с chattr +i main.cpp команда.

Както се вижда в изхода, има a -i изявление в раздела за разрешения. Това изявление е знак, че файлът вече не може да се редактира. За да потвърдите това, можете да опитате да изтриете този файл с команда като rm -rf main.cpp.

rm-rfглавен.cpp
rm: не може да се премахне 'main.cpp': Операцията не е разрешена

Ако искате да отмените тази операция и да направите файла редактируем, просто използвайте chattr -i main.cpp команда.

Правата на достъп са важни за сигурността на файловата система

Разрешаването на достъп формира гръбнака на сигурността на файловата система на Linux. Благодарение на разрешенията за достъп, които могат да бъдат дадени на всеки файл поотделно, може да се реализира много по-удобно управление на системата.

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

Как да промените разрешенията за файлове на настолни компютри с Linux

Прочетете Следващото

ДялтуитДялелектронна поща

Свързани теми

  • Linux
  • Управление на потрбителския профил
  • Управление на файлове
  • Linux
  • терминал

За автора

Фатих Кючуккаракурт (публикувани 2 статии)

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

Още от Fatih Küçükkarakurt

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!

Щракнете тук, за да се абонирате