права доступа linux

Цель урока

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

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

Часть 1: Теория. Расшифровка кода rwx

Помните, когда мы выполняли команду ls -l в предыдущих уроках, мы видели в начале строки загадочные символы вроде -rw-r--r-- или drwxr-xr-x ? Сегодня мы их полностью расшифруем.

Эта строка из 10 символов делится на 4 части:

  1. Тип файла (1-й символ)

  2. Права для Владельца (User) (символы 2, 3, 4)

  3. Права для Группы (Group) (символы 5, 6, 7)

  4. Права для Остальных (Others) (символы 8, 9, 10)

d rwx r-x r-x -> [Тип] [Владелец] [Группа] [Остальные]

права доступа

1. Тип файла:

  • - : Обычный файл.

  • d : Каталог (Directory).

  • l : Символическая ссылка (поговорим о них позже).

2. Субъекты доступа (Кто?):

  • Владелец (User): Конкретный пользователь, который создал или которому принадлежит файл. Обычно это вы.

  • Группа (Group): Файлу можно назначить группу пользователей. Все, кто входит в эту группу, получат одинаковые права доступа. Это удобно для совместной работы.

  • Остальные (Others): Любой другой пользователь в системе, который не является владельцем и не входит в группу.

3. Права доступа (Что могут делать?):
Есть три базовых права. Их значение сильно зависит от того, говорим мы о файле или о каталоге.

Право Символ Значение для ФАЙЛА Значение для КАТАЛОГА
Read r Можно прочитать содержимое файла (cat, less). Можно посмотреть список файлов в каталоге (ls).
Write w Можно изменять/удалять содержимое файла. Можно создавать, удалять и переименовывать файлы внутри каталога.
Execute x Можно запустить файл как программу (скрипт). Можно войти в каталог (cd).

Важнейшие моменты, которые нужно осознать:

  • Чтобы прочитать файл (/home/user/file.txt), вам нужны права r на сам file.txt И права x (execute) на все родительские каталоги (//home/home/user), чтобы до него "дойти".

  • Чтобы удалить файл, вам нужны права w (write) не на сам файл, а на каталог, в котором он находится.

Часть 2: Практика. Команды chmod и chown

1. chmod (Change Mode) - Изменение прав

Эта команда меняет права доступа. Есть два способа ее использования: символьный и числовой.

A) Символьный режим (простой и понятный):
Формат: chmod [субъект][действие][право] имя_файла

  • Субъекты: u (user), g (group), o (others), a (all - все сразу).

  • Действия: + (добавить право), - (убрать право), = (установить конкретное право, отменив остальные).

  • Права: rwx.

  • Примеры:

    • chmod u+x script.sh - Добавить (+) право на исполнение (x) для владельца (u).

    • chmod g-w config.cfg - Убрать (-) право на запись (w) у группы (g).

    • chmod o=r secret.txt - Установить (=) для остальных (o) только право на чтение (r).

    • chmod a+r public_info.txt - Дать право на чтение всем (a).

B) Числовой (восьмеричный) режим (быстрый и профессиональный):
Это самый распространенный способ в мире администрирования. Каждому праву присваивается число:

  • r (read) = 4

  • w (write) = 2

  • x (execute) = 1

Права для одного субъекта (например, владельца) - это сумма этих чисел.

  • rwx = 4 + 2 + 1 = 7

  • rw- = 4 + 2 + 0 = 6

  • r-x = 4 + 0 + 1 = 5

  • r-- = 4 + 0 + 0 = 4

  • --- = 0

Команда chmod принимает трехзначное число: первая цифра для владельца, вторая для группы, третья для остальных.

  • Примеры:

    • chmod 755 my_script.sh -> rwx r-x r-x (Владелец может всё; группа и остальные могут читать и заходить. Стандарт для исполняемых файлов и скриптов).

    • chmod 644 index.html -> rw- r-- r-- (Владелец может читать и писать; остальные только читать. Стандарт для файлов на веб-сервере).

    • chmod 600 private_key -> rw- --- --- (Владелец может читать и писать; никто другой не может делать ничего. Стандарт для секретных файлов).

2. chown (Change Owner) - Смена владельца

Эта команда меняет владельца и/или группу файла/каталога.
Формат: chown новый_владелец:новая_группа имя_файла

  • Пример: chown www-data:www-data /var/www/site/index.html - установить владельцем пользователя www-data и группу www-data. Это типичное действие при настройке веб-сервера.

  • Можно менять только владельца: chown bob file.txt

  • Можно менять только группу (предваряя двоеточием): chown :managers file.txt

  • Ключ -R (Recursive): Применяет изменения ко всем файлам и каталогам внутри указанного каталога. chown -R user:group /path/to/directory.

  • Важно: Менять владельца файла может только root (суперпользователь).

Когда это понадобится? Мы пока работаем под root. Но в следующих уроках мы создадим обычного пользователя для повседневной работы и специального пользователя для веб-сервера. Вот тогда chown станет одной из ваших самых частых команд.

Часть 3: Практический сценарий. Наводим порядок.

  1. Подключитесь к серверу и перейдите в домашний каталог (cd).

  2. Создайте рабочий каталог и зайдите в него:

    mkdir lesson4
    cd lesson4
  3. Создайте два файла: один будет нашим "скриптом", другой - "конфигурацией".

    touch run.sh
    touch settings.conf
  4. Посмотрите на их права по умолчанию:

    ls -l

    Вы увидите что-то вроде -rw-r--r--. Обратите внимание, что права на исполнение (x) по умолчанию нет.

  5. Сделаем run.sh исполняемым для нас (владельца), используя символьный режим:

    chmod u+x run.sh
    ls -l

    Вы увидите, что права изменились на -rwxr--r--. В большинстве терминалов имя файла станет зеленым, сигнализируя, что он исполняемый.

  6. Теперь установим "правильные" права для файла конфигурации settings.conf с помощью числового режима. Мы хотим, чтобы владелец мог читать и писать, а все остальные - только читать. Это права 644.

    chmod 644 settings.conf
    ls -l

    Права останутся -rw-r--r--, так как они уже были такими. Но теперь вы знаете, как их установить целенаправленно.

  7. Создадим "секретный" каталог и файл в нем.

    mkdir private_stuff
    touch private_stuff/secret.log
  8. Давайте запретим кому-либо, кроме нас, даже заглядывать в этот каталог. Для этого уберем у группы и остальных все права (rwx). Права будут 700 (rwx------).

    chmod 700 private_stuff
    ls -l
    выдача прав доступа в линукс

    Теперь только вы можете войти в private_stuff и посмотреть его содержимое.

Итоги урока и домашнее задание

  • Что мы освоили:

    • Структуру прав: Тип, Владелец, Группа, Остальные.

    • Значение rwx для файлов и для каталогов.

    • Два способа изменения прав с помощью chmod: символьный (удобный) и числовой (профессиональный).

    • Назначение команды chown для смены владельца (подробно к ней вернемся, когда создадим пользователей).

  • Ваше четвертое задание:

    1. В своем домашнем каталоге создайте директорию homework.

    2. Внутри нее создайте два файла: script.sh и readonly.txt.

    3. Используя числовой режим, установите файлу script.sh права 750 (rwxr-x---).

    4. Используя символьный режим, установите файлу readonly.txt права, чтобы владелец мог его читать и писать, группа - только читать, а остальные не имели никаких прав (rw-r-----).

    5. Проверьте результат командой ls -l.

На следующем уроке мы поговорим о пользователях и группах: как их создавать, удалять и управлять ими. Это выведет наши навыки работы с правами на новый уровень.

Перейти к просмотру - УРОК №5.

подарок Промо-код: PROMO15 скидка 15%! огонь

Введите при оформлении первого заказа на сайте: Hosting-VDS.com

авторское право цифровые решения

Помог ли вам данный ответ? 1 Пользователи считают это полезным (1 голосов)