Разрешения за файлове в Linux / Unix: Как да чета, пиша и променям?

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

  1. Собственост
  2. Разрешение

Концепцията за Linux файл разрешение намлява собственост е от решаващо значение в Linux. Тук ще обясним разрешенията и собствеността на Linux и ще обсъдим и двете. Нека започнем с Собственост.

Кликнете тук ако видеото не е достъпно

Собственост на файлове в Linux

На всеки файл и директория във вашата Unix/Linux система са присвоени 3 типа собственик, дадени по-долу.

Потребител

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

група

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

Други

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

Сега възниква големият въпрос как става Линукс разграничава между тези три типа потребители, така че потребител „A“ да не може да повлияе на файл, който съдържа жизненоважна информация/данни на други потребители „B“. Все едно не искаш колегата си, който работи върху теб Linux компютър, за да видите вашите изображения. Ето къде Разрешения заложени и те определят поведение на потребителя.

Нека разберем Разрешителна система на Linux.

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

Всеки файл и директория във вашата UNIX/Linux система има следните 3 разрешения, дефинирани за всичките 3 собственика, обсъдени по-горе.

  • Прочети: Това разрешение ви дава право да отваряте и четете файл. Разрешението за четене на директория ви дава възможност да изброявате нейното съдържание.
  • Напиши: Разрешението за запис ви дава право да променяте съдържанието на файл. Разрешението за запис в директория ви дава право да добавяте, премахвате и преименувате файлове, съхранени в директорията. Помислете за сценарий, при който трябва да имате разрешение за запис във файл, но нямате разрешение за запис в директорията, където се съхранява файлът. Ще можете да променяте съдържанието на файла. Но няма да можете да преименувате, премествате или премахвате файла от директорията.
  • Изпълни: In Windows, изпълнима програма обикновено има разширение „.exe“ и можете лесно да я стартирате. В Unix/Linux не можете да стартирате програма, освен ако не е зададено разрешение за изпълнение. Ако разрешението за изпълнение не е зададено, все пак може да можете да видите/промените програмния код (при условие, че разрешенията за четене и запис са зададени), но не и да го стартирате.

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

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

ls – l на терминал дава

ls - l

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

Тук сме подчертали „-rw-rw-r–“и този странно изглеждащ код е този, който ни казва за Unix разрешенията, дадени на собственика, потребителската група и света.

Ето, първият-' означава, че сме избрали файл.p>

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

Иначе, ако беше директория, d щеше да бъде показано.

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

Героите са доста лесни за запомняне.

r = разрешение за четене
w = разрешение за запис
x = разрешение за изпълнение
- = няма разрешение

Нека го погледнем по този начин.

Първата част от кода е 'rw-'. Това предполага, че собственикът „Дом“ може:

Linux разрешение за файл

  • Прочетете файла
  • Напишете или редактирайте файла
  • Той не може да изпълни файла, тъй като битът за изпълнение е настроен на '-'.

По дизайн много Linux дистрибуции като Fedora, CentOS, Ubuntuи т.н. ще добави потребители към група със същото име на групата като потребителското име. По този начин потребител „tom“ се добавя към група с име „tom“.

Втората част е 'rw-'. Това за потребителската група „Начало“ и членовете на групата могат:

  • Прочетете файла
  • Напишете или редактирайте файла

Третата част е за света, което означава всеки потребител. В него се казва „r–“. Това означава, че потребителят може само:

  • Прочетете файла

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

Промяна на разрешенията за файл/директория в Linux Използване на командата 'chmod'

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

Можем да използваме "chmod' команда, която означава "промяна на режима". Използвайки командата, можем да зададем разрешения (четене, запис, изпълнение) на файл/директория за собственика, групата и света.

Синтаксис:

chmod permissions filename

Има 2 начина да използвате команда -

  1. Абсолютен режим
  2. Символичен режим

Абсолютен (числов) режим в Linux

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

Таблицата по-долу дава числа за всички типове разрешения.

Телефон за връзка: Тип разрешение символ
0 Няма разрешение -
1 Изпълнение
2 Пиша -ш-
3 Изпълнение + Писане -wx
4 Чети г-
5 Четене + Изпълнение rx
6 Прочетете + Пишете rw -
7 Четене + Писане + Изпълнение rwx

Нека да видим командата за разрешения chmod в действие.

Абсолютен (числов) режим в Linux

В посочения по-горе терминален прозорец сме променили разрешенията на файла 'sample на '764'.

Абсолютен (числов) режим в Linux

Абсолютният код '764' казва следното:

  • Собственикът може да чете, пише и изпълнява
  • Потребителската група може да чете и пише
  • Светът може само да чете

Това се показва като '-rwxrw-r–

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

Символен режим в Linux

В абсолютния режим променяте разрешенията за всичките 3 собственици. В символния режим можете да промените разрешенията на конкретен собственик. Той използва математически символи за промяна на разрешенията за Unix файлове.

OperaTor Descriptйон

+

Добавя разрешение към файл или директория

-

Премахва разрешението

=

Задава разрешението и заменя разрешенията, зададени по-рано.

Различните собственици са представени като –

Потребителски обозначения

u

потребител/собственик

g

група

o

друг

a

all

Няма да използваме разрешения в числа като 755, а в знаци като rwx. Нека разгледаме един пример

Символен режим в Linux

Промяна на собствеността и групата в Linux

За да промените собствеността на файл/директория, можете да използвате следната команда:

chown user filename

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

chown user:group filename

Нека видим това в действие

Промяна на собствеността и групата в Linux

В случай, че искате да промените само собственика на групата, използвайте командата

chgrp group_name filename

"chgrp' означава група за промяна.

Промяна на собствеността и групата в Linux

тип

  • Файлът /etc/group съдържа всички групи, дефинирани в системата
  • Можете да използвате командата „групи“, за да намерите всички групи, в които членувате
  • Промяна на собствеността и групата в Linux

  • Можете да използвате командата newgrp, за да работите като член на група, различна от вашата група по подразбиране
  • Промяна на собствеността и групата в Linux

  • Не можете да имате 2 групи, притежаващи един и същи файл.
  • Нямате вложени групи в Linux. Една група не може да бъде подгрупа на друга
  • x- Изпълнението на директория означава да ви бъде разрешено да „влезете“ в директория и да получите възможен достъп до поддиректории
  • Има други разрешения, които можете да зададете за файлове и директории, които ще бъдат разгледани в по-късен разширен урок

Резюме:

  • Linux като многопотребителска система използва разрешения и собственост за сигурност.
  • Има три типа потребители в Linux система, а именно. Потребител, група и други
  • Linux разделя разрешенията за файлове на четене, запис и изпълнение, обозначени с r,w и x
  • Разрешенията за файл могат да се променят чрез командата 'chmod', която може допълнително да бъде разделена на абсолютен и символен режим
  • Командата 'chown' може да промени собствеността върху файл/директория. Използвайте следните команди: chown потребителски файл или chown потребител: групов файл
  • Командата 'chgrp' може да промени собствеността на групата chrgrp групово име на файл
  • Какво означава x – изпълнение на директория? О: Разрешено е да „влезете“ в директория и да получите възможен достъп до поддиректории.