Права доступа в UNIX: понимание и управление

a254a656 164d 408b 9fff 39514f89d023 HTML

В операционных системах, основанных на UNIX, привилегии пользователей для работы с файлами и папками играют ключевую роль. Существует три категории пользователей и три вида прав, которые определяют, кто и как может взаимодействовать с файлами и папками.

Категории пользователей:

  1. Владелец файла (user)
  2. Группа файла (group)
  3. Остальные (other)

Виды прав:

  1. Чтение (r)
  2. Запись (w)
  3. Выполнение (x)

Пример списка файлов в терминале

Запустив команду ls -al в терминале, вы увидите список файлов и папок с их правами доступа:

drwxr-xr-x+ 52 george75 staff 1664 12 май 17:06 .
drwxr-xr-x 5 root admin 160 5 дек 2019 ..
-r-------- 1 george75 staff 8 5 ноя 2018 .CFUserTextEncoding
-rw-r--r--@ 1 george75 staff 26628 12 май 22:20 .DS_Store
drwx------ 2 george75 staff 64 8 май 17:44 .Trash
drwxr-x--x 3 george75 staff 96 13 ноя 2019 .adobe
drwxr-xr-x 4 george75 staff 128 13 ноя 2018 .android
drwxrwxrwx 10 george75 staff 320 17 май 2019 .anydesk

Расшифровка прав доступа

Строки вида drwxr-xr-x+ указывают права доступа. Первый символ указывает тип файла:

  • - – обычный файл
  • d – директория
  • l – ссылка

Далее следуют три набора по три символа, указывающие права для владельца, группы и остальных пользователей соответственно.

Примеры прав доступа:

  • rwx – чтение, запись и выполнение
  • rw- – чтение и запись
  • r-- – только чтение

Изменение прав доступа с помощью команды chmod

Символические аргументы

Этот подход используется чаще всего благодаря своей простоте.

Синтаксис:
  • a – для всех пользователей (all)
  • u – для владельца (user)
  • g – для группы (group)
  • o – для остальных (other)
Примеры:
chmod a+r file.txt # Все пользователи получают право на чтение файла
chmod a+rw file.txt # Все пользователи получают права на чтение и запись файла
chmod o-rwx file.txt # Остальные пользователи теряют права на чтение, запись и выполнение файла
chmod ag-r file.txt # Группа и остальные пользователи теряют право на чтение файла

Для рекурсивного изменения прав всех вложенных файлов и папок используйте опцию -r.

Числовые аргументы

Числовые аргументы позволяют быстро установить права доступа. Понимание их использования требует времени, но они короче и быстрее в применении.

Значения прав:
  • 1 – выполнение
  • 2 – запись
  • 4 – чтение
Комбинации:
  • 0 – доступ запрещен
  • 1 – выполнение
  • 2 – запись
  • 3 – запись и выполнение
  • 4 – чтение
  • 5 – чтение и выполнение
  • 6 – чтение и запись
  • 7 – чтение, запись и выполнение
Примеры:
chmod 777 file.txt # Все пользователи могут читать, записывать и выполнять файл
chmod 755 file.txt # Владелец может читать, записывать и выполнять файл, остальные могут только читать и выполнять
chmod 644 file.txt # Владелец может читать и записывать файл, остальные могут только читать

Заключение

Понимание и управление правами доступа в UNIX является важным навыком для любого пользователя и администратора. Использование команд ls -al и chmod позволяет эффективно управлять доступом к файлам и папкам, обеспечивая безопасность и удобство работы.

Оцените статью