Какая команда в Linux отвечает за смену прав доступа к файлу?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Команда chmod в Linux
За смену прав доступа к файлам в Linux отвечает команда chmod (change mode). Это одна из самых фундаментальных команд системного администрирования и DevOps, которую необходимо знать каждому backend разработчику, особенно при работе с развёртыванием приложений и управлением файловыми правами на серверах.
Как работает chmod
Команда chmod позволяет изменять права доступа к файлам и директориям в Linux. В Unix-подобных системах каждый файл имеет набор разрешений, которые определяют, кто и что может делать с этим файлом.
Синтаксис
chmod [опции] режим файл
Два способа указания прав
1. Цифровая нотация (наиболее часто используется)
Каждое разрешение представляется цифрой:
- 4 — read (чтение)
- 2 — write (запись)
- 1 — execute (выполнение)
Три позиции обозначают права для:
- Owner (владелец файла)
- Group (группа)
- 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 критично для безопасного развёртывания приложений и управления доступом на серверах.