Разбиране на разрешения за файлове в Linux и как да ги управлявате
Една от основните основи на сигурността на Linux системата и много потребителската архитектура е моделът на разрешенията на файловете. За разлика от Windows, Linux строго прилага собствеността и контрола на достъпа за всеки файл и директория в системата. Овладяването на разрешенията на файловете не е само въпрос на сигурност — то е съществено за управлението на сървъри, внедряване на софтуер, изпълнение на скриптове и автоматизиране на задачи.
Моделът на разрешенията на файловете в Linux
Всеки файл и директория в Linux имат три типа права за достъп, присвоени на три типа потребители:
| Клас на потребителя | Описание |
|---|---|
| собственик | Потребителят, който притежава файла |
| група | Потребители в групата на файла |
| други | Всички останали потребители в системата |
Всяка класа може да получи три типа разрешения:
| Разрешение | Символ | Значение |
|---|---|---|
| четене | r | Преглед на съдържанието на файла / списък на директорията |
| писане | w | Модифициране на файл или директория |
| изпълнение | x | Изпълнение на файл или достъп до директория |
Преглед на разрешенията с ls -l
Използвайте командата ls -l, за да покажете разрешенията на файловете:
Изход:
Разбивка:
– → обикновен файл
rwx → собственик (четене/писане/изпълнение)
r-x → група (четене/изпълнение)
r– → други (само четене)
Промяна на разрешенията с chmod
Командата chmod се използва за модифициране на разрешенията на файловете.
📌 Символен режим:
📌 Числов режим:
| Октален | Значение |
|---|---|
| 7 | rwx |
| 6 | rw- |
| 5 | r-x |
| 4 | r– |
| 0 | — |
Пример:
Управление на собствеността с chown и chgrp
Смяна на собственик на файл:
Смяна на група:
Смяна на двете:
Използвайте -R, за да приложите промените рекурсивно:
Специални разрешителни битове (напреднали)
Linux поддържа три специални режима, които модифицират стандартното поведение:
1. SUID (Set User ID) s
Приложимо за изпълними файлове
Изпълнява се с привилегиите на собственика, а не на извикващия
🔍 Изход от ls -l: -rwsr-xr-x
Случай на използване: /usr/bin/passwd трябва да се изпълнява като root, за да актуализира /etc/shadow.
SGID (Set Group ID) s
На файлове: изпълнява се с привилегиите на групата на файла
На директории: новите файлове наследяват групата
🔍 Изход от ls -l: drwxr-sr-x
Полезно в споделени папки за разработка.
Sticky Bit t
На директории: само собственикът може да изтрива/преименува своите файлове
Често срещано в /tmp за защита на потребителските файлове
ls -ld /tmp: drwxrwxrwt
Разбиране на umask
umask задава стандартни разрешения за нови файлове/директории:
Проверете текущата стойност:
Обикновена стойност: 0022
| Файл | Стандартни разрешения | С umask 0022 |
|---|---|---|
| Файл | 666 → 644 | rw-r–r– |
| Дир | 777 → 755 | rwxr-xr-x |
Задайте временно umask:
Рекурсивни поправки на разрешенията
Задайте разрешения на папки и файлове поотделно:
Заключение
Разрешенията на файловете в Linux предоставят прецизен контрол на достъпа за сигурност, много потребителски среди и автоматизация. Разбирането как да се преглеждат, променят и прилагат разрешенията ви дава възможност да управлявате сървъри с увереност, да защитавате данни и да сътрудничите безопасно.
Независимо дали внедрявате уеб приложения, управлявате облачни сървъри или изграждате скриптове за команден ред — познаването на chmod, chown, umask и специалните разрешителни битове е съществено.
