В Linux, когда создаются новые файлы или директории, им автоматически назначаются определенные права доступа. Эти права регулируются с помощью утилиты
umask, которая задает маску доступа по умолчанию. Понимание работы umask позволяет администратору управлять правами доступа и обеспечивать безопасность данных.Что такое umask?
umask определяет, какие разрешения не будут устанавливаться при создании нового файла или директории. Она представляет собой побитовую маску, которая вычитает определенные права доступа из максимальных возможных прав.
Для файлов: максимальные разрешения - 666 (rw-rw-rw-).
Для директорий: максимальные разрешения - 777 (rwxrwxrwx).
1. Проверка текущего значения umask:
umask
Вывод, например, 0022, означает, что новые файлы будут создаваться с правами 644 (rw-r--r--), а директории — с правами 755 (rwxr-xr-x).
2. Настройка umask для текущей сессии: Чтобы установить umask так, чтобы новые файлы создавались с правами 664 (rw-rw-r--), а директории с правами 775 (rwxrwxr-x):
umask 0002
3. Постоянное изменение umask: Чтобы изменить umask для всех пользователей и сеансов, добавьте строку в файл ~/.bashrc, ~/.profile или /etc/profile:
umask 0027
После этого новые файлы будут создаваться с правами 640 (rw-r-----), а директории — с 750 (rwxr-x---), что ограничивает доступ для других пользователей.
Как работает umask? Маска umask вычитает указанные права из максимальных значений:
Файл с umask 0022:
Максимальные права 666 → 644 (rw-r--r--).
Директория с umask 0022:
Максимальные права 777 → 755 (rwxr-xr-x).
Настройка umask особенно важна для многопользовательских систем, где необходимо ограничить доступ к создаваемым файлам и папкам. Например, umask 0077 подходит для случаев, когда файлы должны быть доступны только их владельцу (права 600 для файлов и 700 для директорий).
BashTex 📱 #linux #utils