Linux разрешения: chmod, chown и umask за начинаещи (2025)

Linux разрешения: chmod, chown и umask за начинаещи (2025)

Linux е мощен и гъвкав операционен система, но за да го използвате ефективно, трябва да разберете как работят разрешенията. В тази статия ще обясним всичко за chmodchown и umask – трите основни инструмента за управление на правата за достъп. Независимо дали сте начинаещ или искате да си опресните знанията, това ръководство ще ви помогне да работите уверено с Linux файлове и директории.


1. Какво са Linux разрешенията?

В Linux всеки файл и директория имат собственик (owner) и група (group), както и набор от разрешения (permissions), които определят:

  • Кой може да извършва действия (собственик, група, други потребители).
  • Какви действия могат да се извършват (четене, запис, изпълнение).

Разрешенията се изобразяват с букви (rwx) или цифри (0–7).


2. Видове разрешения

Linux поддържа три основни типа разрешения:

СимволЗначениеОписание
rRead (четене)Позволява преглед на съдържанието (за файлове) или списък (за директории).
wWrite (запис)Позволява промяна на файла или създаване/изтриване в директория.
xExecute (изпълнение)Позволява стартиране на файл или влизане в директория.

Примери:

  • Файл с -rw-r--r-- може да се чете от всички, но само собственикът може да го променя.
  • Директория с drwxr-xr-x позволява влизане на всички, но само собственикът може да създава/изтрива файлове.

3. Разбиране на chmod (промяна на разрешения)

chmod (Change Mode) се използва за промяна на разрешенията на файлове и директории.

Синтаксис:

chmod [опции] разрешения файл/директория

Методи за задаване на разрешения:

А) Числов метод (octal) – с цифри

Всяко разрешение се представя с число:

  • 4 = Read (r)
  • 2 = Write (w)
  • 1 = Execute (x)

Комбинираме числата за всяка група (собственик, група, други):

КомбинацияЧислоПримерен резултат (ls -l)
rwx7 (4+2+1)-rwx------ (само собственикът има пълни права)
rw-6 (4+2)-rw-r--r-- (собственикът чете/пише, останалите само четат)
r-x5 (4+1)-r-xr-xr-x (всички могат да четат/изпълняват)

Пример: Дайте пълни права на собственика, четене/изпълнение на групата и никакви права на другите:

chmod 750 файл.txt

Б) Символен метод – с букви

Използват се символи за групи и действия:

  • u (user/owner), g (group), o (others), a (all)
  • + (добавяне), - (премахване), = (задаване точно)

Примери:

chmod u+x скрипт.sh    # Добавя изпълним режим за собственика  
chmod go-w файл.txt    # Премахва право на запис за групата и другите  
chmod a=rw директория  # Задава четене/запис за всички  

4. Разбиране на chown (промяна на собственик и група)

chown (Change Owner) променя собственика и/или групата на файл/директория.

Синтаксис:

chown [опции] собственик:група файл/директория

Примери:

chown ivan файл.txt          # Променя собственика на "ivan"  
chown ivan:developers файл.txt # Променя собственика и групата  
chown -R root:root /папка     # Рекурсивно променя правата за цяла директория  

5. Разбиране на umask (маска по подразбиране)

umask определя базовите разрешения за новосъздадени файлове и директории.

Как работи?

  • Linux използва маска, която "изважда" права от максималните (666 за файлове, 777 за директории).
  • Стандартната umask е 022 (файлове получават 644, директории – 755).

Задаване на umask:

umask 002   # Файлове: 664, Директории: 775  
umask 077   # Файлове: 600, Директории: 700 (строги права)  

6. Често срещани сценарии и съвети

Безопасност:

  • Използвайте chmod 700 за лични файлове.
  • Ограничавайте write правата за групи (chmod g-w).

Практически примери:

  • Скрипт: chmod +x script.sh – прави го изпълним.
  • Споделена папка: chmod 775 /shared – позволява запис на групата.
  • Сертификати: chmod 600 ключ.pem – забранява достъп на другите.

7. Важни специфични случаи: SSH ключове и конфигурации

Когато работите с SSH ключове, правилните разрешения са критични за сигурността. Ако правата са твърде "отворени", SSH може да откаже достъп!

Безопасни разрешения за ~/.ssh и файлове:

chmod 700 ~/.ssh          # Директорията трябва да е строго ограничена за собственика  
chmod 600 ~/.ssh/config   # Конфигурационният файл не трябва да е достъпен за други  
chmod 600 ~/.ssh/id_rsa   # Частният ключ винаги трябва да е строго защитен  
chmod 644 ~/.ssh/id_rsa.pub # Публичният ключ може да се чете от всички  

Защо са важни тези настройки?

  • SSH изисква 700 за ~/.ssh, за да гарантира, че никой друг не може да види/променя съдържанието.
  • Ако id_rsa (частен ключ) има права 777 или дори 644, SSH ще го отхвърли със съобщение като "Permissions too open".

Съвет: Винаги проверявайте разрешенията, ако получавате грешки при SSH връзки!

8. Заключение

Разбирането на chmodchown и umask е ключово за ефективна работа в Linux. С тези инструменти можете:
✅ Контролирате кой има достъп до вашите файлове.
✅ Споделяте ресурси безопасно между потребители.
✅ Автоматизирате настройките с umask.

Запомнете: Винаги проверявайте разрешенията с ls -l преди да променяте нещо!

Ако искате да научите още, опитайте командите в тестова среда. Linux разрешенията са мощен инструмент – използвайте ги мъдро! 🚀

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: