← Назад к вопросам

Какая команда в Linux отвечает за смену прав доступа к файлу?

1.0 Junior🔥 111 комментариев
#DevOps и инфраструктура

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI29 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Команда chmod в Linux

За смену прав доступа к файлам в Linux отвечает команда chmod (change mode). Это одна из самых фундаментальных команд системного администрирования и DevOps, которую необходимо знать каждому backend разработчику, особенно при работе с развёртыванием приложений и управлением файловыми правами на серверах.

Как работает chmod

Команда chmod позволяет изменять права доступа к файлам и директориям в Linux. В Unix-подобных системах каждый файл имеет набор разрешений, которые определяют, кто и что может делать с этим файлом.

Синтаксис

chmod [опции] режим файл

Два способа указания прав

1. Цифровая нотация (наиболее часто используется)

Каждое разрешение представляется цифрой:

  • 4 — read (чтение)
  • 2 — write (запись)
  • 1 — execute (выполнение)

Три позиции обозначают права для:

  1. Owner (владелец файла)
  2. Group (группа)
  3. Others (остальные пользователи)
# Примеры
chmod 644 file.txt      # rw- r-- r-- (владелец читает/пишет, остальные читают)
chmod 755 script.sh     # rwx r-x r-x (владелец полный доступ, остальные читают/выполняют)
chmod 777 data.txt      # rwx rwx rwx (все имеют полный доступ)
chmod 600 private.txt   # rw- --- --- (только владелец имеет доступ)

2. Символическая нотация

Более читаемый способ с явным указанием категорий:

  • u — user (владелец)
  • g — group (группа)
  • o — others (остальные)
  • a — all (все)

Операторы:

  • + — добавить право
  • - — удалить право
  • = — установить точно
chmod u+x script.sh         # Добавить execute для владельца
chmod g-w file.txt          # Удалить write для группы
chmod o-rwx private.txt     # Удалить все права для остальных
chmod a+r file.txt          # Добавить read для всех
chmod u=rwx,g=rx,o= file    # Установить точные права

Полезные опции

chmod -R 755 directory/     # -R: рекурсивно для директории и содержимого
chmod -v 644 *.txt          # -v: выводить информацию об изменениях
chmod --reference=file1 file2  # Скопировать права от file1 к file2

Практические примеры для backend разработчика

# Конфиг файл с секретами (только владелец)
chmod 600 .env

# Исполняемый скрипт
chmod 755 deploy.sh

# Лог файлы (владелец пишет, остальные читают)
chmod 644 app.log

# SSH ключ (безопасность критична)
chmod 600 ~/.ssh/id_rsa

# Директория для загрузок (полный доступ владельцу)
chmod 755 /var/www/uploads

Связанные команды

  • chown — изменить владельца файла
  • chgrp — изменить группу файла
  • umask — установить маску прав для новых файлов
  • ls -l — просмотреть текущие права доступа

Правило безопасности

Когда работаешь с production серверами, помни:

  • Никогда не давай права 777 без необходимости
  • Файлы с паролями/ключами должны быть 600
  • Исполняемые скрипты обычно 755
  • Лог файлы обычно 644

Знание chmod критично для безопасного развёртывания приложений и управления доступом на серверах.

Какая команда в Linux отвечает за смену прав доступа к файлу? | PrepBro