Понимание прав доступа к файлам (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:
- Символьный режим: используются буквы и символы (например,
u+x). - Восьмеричный (числовой) режим: используются числа (например,
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.shchmod: объяснение восьмеричного режима
В восьмеричном режиме для обозначения прав доступа используются числа. Каждый тип права имеет своё значение:
- Чтение (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 — локальная установка не требуется.
Все уроки этого курса
- Просмотр содержимого файлов (cat, less, head, tail)
- Понимание прав доступа к файлам (chmod, chown)
- Поиск файлов (find, grep)
- Создание ссылок: жёсткие и символьные ссылки