0Pricing
Linux Command Line & Bash Scripting Mastery · Урок

Понимание прав доступа к файлам (chmod, chown)

Узнайте о правах доступа к файлам в Linux, о том, как они защищают данные и как изменять их с помощью команд 'chmod' и 'chown'.

«Понимание прав доступа к файлам (chmod, chown)» — бесплатный урок Linux Command Line & Bash Scripting Mastery на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Command Line & Bash Scripting Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Что такое права доступа к файлам?

Добро пожаловать! В Linux права доступа к файлам — это параметры безопасности, которые определяют, кто может получать доступ к файлам и каталогам и изменять их. Они крайне важны для защиты Ваших данных и обеспечения стабильности системы.

Представьте их цифровыми охранниками Ваших файлов: они решают, кого впустить и что разрешить делать внутри.

Чтение, запись, выполнение (rwx)

Существует три основных типа прав доступа:

  • Чтение (r): позволяет просматривать содержимое файла или список содержимого каталога.
  • Запись (w): позволяет изменять или удалять файл, а также создавать и удалять файлы внутри каталога.
  • Выполнение (x): позволяет запускать файл (если это сценарий или программа) или переходить в каталог.

Пользователь, группа, остальные (ugo)

Эти права доступа применяются к трём категориям пользователей:

  • Пользователь (u): владелец файла или каталога.
  • Группа (g): пользователи, принадлежащие к основной группе файла.
  • Остальные (o): все остальные пользователи системы.
  • Иногда используется «a» в значении «все» (пользователь, группа и остальные).

Просмотр прав доступа с помощью ls -l

Права доступа к файлу можно увидеть с помощью команды ls -l. Разберём её вывод:

-rwxr-xr-- 1 user group 1024 Jan 1 10:00 myfile.txt

  • Первый символ (-) обозначает тип файла (- для обычного файла, d для каталога).
  • Следующие девять символов (rwxr-xr--) обозначают права доступа.
ls -l important_doc.txt

Расшифровка строк прав доступа

Девять символов прав доступа объединены в три группы по три символа:

  • 1-я группа (rwx): права доступа для пользователя (владельца).
  • 2-я группа (r-x): права доступа для группы.
  • 3-я группа (r--): права доступа для остальных.

Дефис (-) означает, что соответствующее право для этой категории не предоставлено.

Изменение прав доступа с помощью chmod

Команда chmod (change mode — изменить режим) используется для изменения прав доступа к файлам и каталогам. Есть два основных способа использовать chmod:

  1. Символьный режим: используются буквы и символы (например, u+x).
  2. Восьмеричный (числовой) режим: используются числа (например, 755).

chmod: символьный режим на практике

Символьный режим интуитивно понятен. Вы указываете категорию (u, g, o, a), действие (+ — добавить, - — удалить, = — задать точно) и право доступа (r, w, x).

  • chmod u+x myscript.sh: добавляет владельцу право на выполнение.
  • chmod g-w myfile.txt: удаляет у группы право на запись.
  • chmod o=r-x mydir: задаёт для остальных права только на чтение и выполнение, удаляя право на запись.
echo '#!/bin/bash\necho Hello' > script.sh
chmod u+x script.sh
ls -l script.sh

chmod: объяснение восьмеричного режима

В восьмеричном режиме для обозначения прав доступа используются числа. Каждый тип права имеет своё значение:

  • Чтение (r): 4
  • Запись (w): 2
  • Выполнение (x): 1

Для каждой категории (пользователь, группа, остальные) эти значения складываются. Например, rwx — это 4+2+1=7, а r-x — 4+0+1=5.

chmod: примеры восьмеричного режима

Команде chmod передаётся трёхзначное число, обозначающее права пользователя, группы и остальных соответственно.

  • chmod 755 mydir: пользователь получает rwx (7), группа — r-x (5), остальные — r-x (5). Часто используется для каталогов.
  • chmod 644 myfile.txt: пользователь получает rw- (6), группа — r-- (4), остальные — r-- (4). Часто используется для файлов.
touch report.txt
chmod 644 report.txt
ls -l report.txt

Изменение владельца с помощью chown

Команда chown (change owner — изменить владельца) изменяет пользователя-владельца файла или каталога. Для этой команды обычно требуются права суперпользователя (root).

chown newuser myfile.txt

Одновременно можно изменить и владельца-группу:

chown newuser:newgroup myfile.txt

touch testfile.txt
# sudo chown newuser testfile.txt
ls -l testfile.txt

Задание на права доступа!

У Вас есть файл с именем private_note.txt. Вы хотите задать для него такие права доступа:

  • владелец может читать и записывать;
  • группа может только читать;
  • остальные не имеют никаких прав.

Какая из следующих команд выполнит это условие?

Повторение и дальнейшие шаги

Отличная работа! Вы освоили основы прав доступа к файлам в Linux:

  • Изучили права на чтение, запись и выполнение.
  • Узнали о категориях пользователей, групп и остальных.
  • Использовали ls -l для просмотра прав доступа.
  • Применяли chmod в символьном и восьмеричном режимах для изменения прав.
  • Познакомились с chown для изменения владельца файла.

Защита файлов — важный навык работы в Linux. Далее Вы научитесь искать файлы и шаблоны!

Часто задаваемые вопросы

Урок «Понимание прав доступа к файлам (chmod, chown)» бесплатный?

Да — полный текст урока «Понимание прав доступа к файлам (chmod, chown)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Command Line & Bash Scripting Mastery, подпишись на CoddyKit PRO. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Чему я научусь в уроке «Понимание прав доступа к файлам (chmod, chown)»?

Узнайте о правах доступа к файлам в Linux, о том, как они защищают данные и как изменять их с помощью команд 'chmod' и 'chown'. Ты практикуешь Linux Command Line & Bash Scripting Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Command Line & Bash Scripting Mastery?

Предыдущий опыт не требуется. Linux Command Line & Bash Scripting Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Понимание прав доступа к файлам (chmod, chown)»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Linux Command Line & Bash Scripting Mastery?

Да. Каждый урок Linux Command Line & Bash Scripting Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Просмотр содержимого файлов (cat, less, head, tail)
  2. Понимание прав доступа к файлам (chmod, chown)
  3. Поиск файлов (find, grep)
  4. Создание ссылок: жёсткие и символьные ссылки
← Назад к Linux Command Line & Bash Scripting Mastery