Настройка прав доступа к файлам
Права доступа можно использовать, чтобы управлять тем, у кого из пользователей будет возможность просматривать и редактировать принадлежащие вам файлы. Чтобы просмотреть и задать права доступа к файлу, нажмите на него правой кнопкой и выберите Свойства , затем откройте вкладку Права .
Подробнее о типах прав, которые вы можете задать, смотрите Файлы и Папки ниже.
Файлы
Можно задать права доступа для владельца файла, владеющей файлом группы, и всех остальных пользователей системы. Вы являетесь владельцем своих файлов и можете дать себе права доступа к ним только на чтение или на чтение и запись. Установите для файла право доступа только на чтение, если не хотите случайно изменить его.
Каждый пользователь на компьютере принадлежит к определённой группе. На домашних компьютерах для каждого пользователя обычно имеется своя собственная группа, и групповые права доступа используются редко. В организациях иногда создаются группы для каждого отдела и проекта. Каждый файл принадлежит не только своему владельцу, но и группе. Можно задать группу, владеющую файлом, чтобы управлять правами доступа сразу для всех пользователей в этой группе. В качестве группы, владеющей файлом вы можете выбрать только ту группу, к которой принадлежите сами.
Также можно задать права доступа для остальных пользователей, которые не являются владельцами файла и не принадлежат к группе, владеющей файлом.
Если файл является программой, например, сценарием, можно включить Разрешить выполнение файла как программы для его запуска. Даже если эта опция включена, файловый менеджер все равно будет открывать его в приложении. Подробнее смотрите Исполняемые текстовые файлы .
Папки
Можно задать права доступа к папкам для владельца, группы и других пользователей. Подробнее о владельцах, группах и других пользователях смотрите в описании прав доступа выше.
Права, которые можно задать для папки, отличаются от прав, которые можно задать для файла.
Пользователь даже не сможет увидеть, какие файлы содержатся в папке.
Только перечисление файлов
Пользователь сможет увидеть, какие файлы содержатся в папке, но не сможет открывать, создавать или удалять их.
Доступ к файлам
Пользователь сможет открывать файлы в папке (если это позволяют права доступа к данному конкретному файлу), но не сможет удалять файлы или создавать новые файлы.
Создание и удаление файлов
Пользователь будет иметь полный доступ к папке, включая открытие, создание и удаление файлов.
Можно также быстро установить права доступа для всех файлов в папке, нажав Изменить права на вложенные файлы . Используйте выпадающие списки для настройки прав доступа к вложенным файлам или папкам, затем нажмите Изменить . Права доступа будут установлены как для файлов и папок, так и для вложенных папок до любой глубины вложенности.
Права доступа к файлам в Linux
В операционной системе Linux есть много отличных функций безопасности, но одна из самых важных — это система прав доступа к файлам. Linux, как последователь идеологии ядра Linux в отличие от Windows, изначально проектировался как многопользовательская система, поэтому права доступа к файлам в linux продуманы очень хорошо.
И это очень важно, потому что локальный доступ к файлам для всех программ и всех пользователей позволил бы вирусам без проблем уничтожить систему. Но новым пользователям могут показаться очень сложными новые права на файлы в linux, которые очень сильно отличаются от того, что мы привыкли видеть в Windows. В этой статье мы попытаемся разобраться в том как работают права файлов в linux, а также как их изменять и устанавливать.
Основные права доступа к файлам в Linux
Изначально каждый файл имел три параметра доступа. Вот они:
- Чтение — разрешает получать содержимое файла, но на запись нет. Для каталога позволяет получить список файлов и каталогов, расположенных в нем;
- Запись — разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
- Выполнение — вы не можете выполнить программу, если у нее нет флага выполнения. Этот атрибут устанавливается для всех программ и скриптов, именно с помощью него система может понять, что этот файл нужно запускать как программу.
Но все эти права были бы бессмысленными, если бы применялись сразу для всех пользователей. Поэтому каждый файл имеет три категории пользователей, для которых можно устанавливать различные сочетания прав доступа:
- Владелец — набор прав для владельца файла, пользователя, который его создал или сейчас установлен его владельцем. Обычно владелец имеет все права, чтение, запись и выполнение.
- Группа — любая группа пользователей, существующая в системе и привязанная к файлу. Но это может быть только одна группа и обычно это группа владельца, хотя для файла можно назначить и другую группу.
- Остальные — все пользователи, кроме владельца и пользователей, входящих в группу файла.
Именно с помощью этих наборов полномочий устанавливаются права файлов в linux. Каждый пользователь может получить полный доступ только к файлам, владельцем которых он является или к тем, доступ к которым ему разрешен. Только пользователь Root может работать со всеми файлами независимо от их набора их полномочий.
Но со временем такой системы стало не хватать и было добавлено еще несколько флагов, которые позволяют делать файлы не изменяемыми или же выполнять от имени суперпользователя, их мы рассмотрим ниже:
Специальные права доступа к файлам в Linux
Для того, чтобы позволить обычным пользователям выполнять программы от имени суперпользователя без знания его пароля была придумана такая вещь, как SUID и SGID биты. Рассмотрим эти полномочия подробнее.
- SUID — если этот бит установлен, то при выполнении программы, id пользователя, от которого она запущена заменяется на id владельца файла. Фактически, это позволяет обычным пользователям запускать программы от имени суперпользователя;
- SGID — этот флаг работает аналогичным образом, только разница в том, что пользователь считается членом группы, с которой связан файл, а не групп, к которым он действительно принадлежит. Если SGID флаг установлен на каталог, все файлы, созданные в нем, будут связаны с группой каталога, а не пользователя. Такое поведение используется для организации общих папок;
- Sticky-bit — этот бит тоже используется для создания общих папок. Если он установлен, то пользователи могут только создавать, читать и выполнять файлы, но не могут удалять файлы, принадлежащие другим пользователям.
Теперь давайте рассмотрим как посмотреть и изменить права на файлы в Linux.
Как посмотреть права доступа к файлам в Linux
Конечно, вы можете посмотреть права доступа к файлам в Linux с помощью файлового менеджера. Все они поддерживают эту функцию, но так вы получите неполную информацию. Для максимально подробной информации обо всех флагах, в том числе специальных, нужно использовать команду ls с параметром -l. Все файлы из каталога будут выведены в виде списка, и там будут показаны все атрибуты и биты.
Чтобы узнать права на файл linux выполните такую команду, в папке где находится этот файл:

За права файлов в linux тут отвечают черточки. Первая это тип файла, который рассмотрен в отдельной статье. Дальше же идут группы прав сначала для владельца, для группы и для всех остальных. Всего девять черточек на права и одна на тип.
Рассмотрим подробнее, что значат условные значения флагов прав:
- — — нет прав, совсем;
- —x — разрешено только выполнение файла, как программы но не изменение и не чтение;
- -w- — разрешена только запись и изменение файла;
- -wx — разрешено изменение и выполнение, но в случае с каталогом, вы не можете посмотреть его содержимое;
- r— — права только на чтение;
- r-x — только чтение и выполнение, без права на запись;
- rw- — права на чтение и запись, но без выполнения;
- rwx — все права;
- —s — установлен SUID или SGID бит, первый отображается в поле для владельца, второй для группы;
- —t — установлен sticky-bit, а значит пользователи не могут удалить этот файл.
В нашем примере, файл test1 имеет типичные разрешения для программ, владелец может все, группа только чтение и выполнение, а все остальные — только выполнение. Для test2 дополнительно установлен флаг SUID и SGID. А для папки test3 установлен Sticky-bit. Файл test4 доступный всем. Теперь вы знаете как посмотреть права на файл linux.
Как изменить права файла в Linux
Чтобы изменить права на файл в linux вы можете использовать утилиту chmod. Она позволяет менять все флаги, включая специальные. Рассмотрим ее синтаксис:
$ chmod опции категория действие флаг файл
Опции сейчас нас интересовать не будут, разве что только одна. С помощью опции -R вы можете заставить программу применять изменения ко всем файлам и каталогам рекурсивно.
Категория указывает для какой группы пользователей нужно применять права, как вы помните доступно только три категории:
Действие может быть одно из двух, либо добавить — знак «+», либо убрать — знак «-«. Что касается самих прав доступа, то они аналогичны выводу утилиты ls: r — чтение, w — запись, x — выполнение, s — suid/sgid, в зависимости от категории, для которой вы его устанавливаете, t — устанавливает sticky-bit. Например, всем пользователям полный доступ к файлу test5:
chmod ugo+rwx test5
Или заберем все права у группы и остальных пользователей:
chmod go-rwx test5
Дадим группе право на чтение и выполнение:
chmod g+rx test5
Остальным пользователям только чтение:
Для файла test6 установим SUID:
А для test7 — SGID:
Посмотрим что получилось:

Как видите, изменить права на файл в Linux очень просто. К тому же вы можете изменить основные права с помощью файлового менеджера.
Выводы
Вот и все, теперь вы знаете не только что такое права доступа к файлам в Linux, но и как их посмотреть, и даже как их изменить. Это очень важная тема, в которой действительно стоит разобраться новичкам, чтобы использовать свою систему более полноценно. Если у вас остались вопросы, спрашивайте в комментариях!
На завершение хочу предложить неплохое видео про права доступа в Linux:
Как изменить права файла в Linux
Для изменения прав доступа к файлу в Linux используется команда chmod (change mode). Она позволяет изменять права на чтение, запись и выполнение для владельца, группы и остальных пользователей.
Синтаксис команды
chmod [опции] права файл
- -R — рекурсивное изменение прав для всех файлов и папок в указанной директории
- -v — вывод информации о каждом изменении прав
- -c — вывод информации только о файлах, у которых были изменены права
Примеры
Действие может быть одно из двух, либо добавить — знак «+», либо убрать — знак «-«. Что касается самих прав доступа, то они аналогичны выводу утилиты ls.

Например, всем пользователям полный доступ к файлу test5:
chmod ugo+rwx test0
Или заберем все права у группы и остальных пользователей:
chmod go-rwx test0
Дадим группе право на чтение и выполнение:
chmod g+rx test0
Остальным пользователям только чтение:
chmod o+r test0
Для файла test6 установим SUID:
Что делает команда chmod и как ее использовать в Linux
В статье рассмотрим команду chmod, ее синтаксис и разберемся, как работает система прав в ОС семейства Linux.
Введение
В семействе UNIX-подобных систем безопасность и контроль доступа к файлам и каталогам — ключевые аспекты. Один из основных инструментов для управления правами доступа в таких системах — команда chmod. Она позволяет определить, кто и какие действия выполняет с вашими файлами.
Синтаксис команды chmod и дополнительные параметры
Основной синтаксис команды chmod выглядит следующим образом:
chmod [опции]
- Вместо опций — дополнительные параметры команды, которые могут управлять ее поведением.
- Вместо слова права — новые права доступа, которые нужно установить для указанных файлов или каталогов.
- Вместо слова файлы — список файлов или каталогов, для которых нужно изменить права доступа.
Кроме основного синтаксиса команда chmod также поддерживает различные опции, которые используются для изменения поведения команды. Некоторые из наиболее часто используемых опций включают:
- -R или —recursive: рекурсивно изменяет права доступа для всех файлов и подкаталогов внутри указанного каталога.
- -f или —silent, —quiet: подавляет вывод сообщений об ошибках или предупреждениях.
- -v или —verbose: выводит подробный отчет о каждом изменении прав доступа.
- -c или —change: ключ действует аналогично ключу —verbose. Он выводит информацию только если с файлом или директорией были произведены какие-либо действия.
Например, чтобы установить права чтения, записи и выполнения для владельца, только чтения для группы и никаких прав для остальных пользователей для файла example.txt, мы можем использовать следующую команду:
chmod 750 example.txt
Это означает, что владелец будет иметь полные права доступа (чтение, запись и выполнение). Группа будет иметь права только на чтение. А остальные пользователи не будут иметь никаких прав доступа к файлу.
Права в Linux
При работе с командой chmod важно понимать основные права доступа, которые назначают файлам или каталогам. В Linux используется три основных типа прав доступа:
- Чтение (Read) — обозначается буквой «r». Предоставляет возможность просматривать содержимое файла или каталога.
- Запись (Write) — обозначается буквой «w». Позволяет создавать, изменять и удалять файлы внутри каталога, а также изменять содержимое файла.
- Выполнение (Execute) — обозначается буквой «x». Дает разрешение на выполнение файла или на вход в каталог.
Каждый из указанных выше типов прав доступа может быть назначен трем группам пользователей:
- Владелец (Owner) — пользователь, который является владельцем файла или каталога.
- Группа (Group) — группа пользователей, к которой принадлежит файл или каталог.
- Остальные пользователи (Others) — все остальные пользователи системы.
Комбинация этих базовых прав доступа для каждой из групп пользователей определяет полный набор прав доступа для файла или каталога.
Например, права доступа rwxr-x— для файла означают, что владелец имеет все права доступа (чтение, запись и выполнение), группа имеет право только на чтение и выполнение, а остальные пользователи не имеют никаких прав доступа к этому файлу.
При использовании команды chmod мы можем изменять эти базовые права доступа для каждой из групп пользователей в соответствии с требованиями безопасности и политики доступа.
Просмотр прав на файлы и директории
Давайте рассмотрим, как можно просматривать текущие разрешения файлов и каталогов. Для этого мы будем использовать команду ls в сочетании с опцией -l, которая выводит длинный формат списка файлов и каталогов, включая информацию о разрешениях.
Вот пример использования команды ls -l:
-rw-r--r-- 1 user1 user1 12345 Oct 10 10:00 myfile.txt drwxr-xr-x 2 user1 user1 4096 Oct 10 09:00 mydir
Вывод команды состоит из нескольких столбцов, нас интересует первый столбец, который содержит информацию о разрешениях. В данном примере:
- myfile.txt имеет права -rw-r—r—, что означает, что владелец файла (user1) имеет права на чтение и запись, а остальные пользователи имеют право только на чтение.
- mydir — это директория, ее разрешения drwxr-xr-x говорят нам, что владелец каталога может читать, записывать и выполнять его, а остальные пользователи могут только читать и выполнять.
Также просмотреть права на файл или директорию вы можете с помощью команды getfacl (get file access control lists). Данная команда выведет полный список прав для директории или файла. Пример вывода данной команды предоставлен ниже:
# file: file.txt # owner: user1 # group: group1 user::rw- group::r-- other::r--
Изменение прав доступа
Когда мы разобрались, как просматривать текущие разрешения файлов и каталогов, давайте перейдем к изменению прав доступа с использованием команды chmod. Сделать это можно с помощью буквенной и численной нотаций, для директорий и файлов, а также рекурсивно, изменяя права для всех вложенных объектов в указанной директории.
Символьная нотация
Символьная нотация в команде chmod позволяет вам изменять права доступа к файлам и каталогам с использованием более интуитивного и читаемого подхода. Она позволяет указать, какие разрешения должны быть установлены или изменены для владельца файла, группы и остальных пользователей.
Синтаксис у символьной нотации следующий:
chmod [ugoa] [+-=] [rwx] файл(ы)
- [ugoa] указывает, к кому применяются изменения:
- u: владелец файла.
- g: группа файла.
- o: остальные пользователи (не владелец и не входящие в группу).
- a: все (при использовании заменяет собой ugo).
- [+-=] определяет, что нужно сделать с разрешениями:
- +: добавить разрешение.
- -: удалить разрешение.
- =: установить разрешение точно (заменить текущие разрешения).
- — [rwx] представляет собой комбинацию символов `r`, `w` и `x`, обозначающих разрешения:
- r: разрешение на чтение.
- w: разрешение на запись.
- x: разрешение на выполнение.
Примеры использования символьной нотации:
- chmod u+x файл — добавить право выполнения для владельца файла.
- chmod go-rw файл — удалить право чтения и записи для группы и остальных пользователей.
- chmod a=rwx файл — установить полные права (чтение, запись и выполнение) для всех.
Числовая нотация
Другим способом изменения прав доступа к файлам и каталогам в команде chmod является использование числовой нотации. В этом случае вы используете числа для представления разрешений и их комбинаций. Этот метод может показаться менее интуитивным по сравнению с символьной нотацией, но он также является мощным способом управления правами доступа.
Числовая нотация состоит из трех цифр, где каждая цифра представляет разрешения для владельца, группы и остальных пользователей соответственно. Каждая цифра состоит из суммы разных значений, присвоенных разным разрешениям:
- 4 — разрешение на чтение (read).
- 2 — разрешение на запись (write).
- 1 — разрешение на выполнение (execute).
- 0 — отсутствие разрешения.
Для установки конкретных разрешений, сложите соответствующие значения:
- Если вы хотите только разрешение на чтение, используйте 4.
- Если вы хотите разрешение на чтение и запись, сложите 4 и 2, что даст 6.
- Если вы хотите разрешение на чтение и выполнение, сложите 4 и 1, что даст 5.
- Если вы хотите разрешение на чтение, запись и выполнение, сложите 4, 2 и 1, что даст 7.
Рассмотрим примеры использования числовой нотации. Например, вы можете выполнить команды:
chmod 644 myfileДанная команда установит права -rw-r—r—, где владелец имеет права на чтение и запись, а группа и остальные пользователи могут только читать файл.
chmod 755 script.shЭта команда поможет установить права -rwxr-xr-x, где владелец имеет полные права, а остальные пользователи могут только читать и выполнять скрипт.
Изменения прав для каталога
Как и для обычных файлов, вы можете изменять права доступа для каталогов с помощью команды chmod. Права доступа к каталогам контролируют, какие операции можно выполнять внутри каталога: просмотр его содержимого, создание, удаление файлов и каталогов внутри него и так далее.
Для изменения прав доступа к каталогу используется та же числовая и символьная нотация, которую мы рассматривали ранее. Укажите имя каталога, к которому вы хотите применить изменения прав доступа вместо имени файла. Давайте рассмотрим примеры в двух нотациях.
Символьная нотация
- chmod u+rwx директория — добавить владельцу каталога права на чтение, запись и выполнение.
- chmod go-r директория — удалить права на чтение для группы и остальных пользователей для каталога.
- chmod a+rx директория — предоставить всем пользователям права на чтение и выполнение для каталога.
Числовая нотация
chmod 700 директория — установить права -rwx—— для владельца каталога, позволяя ему читать, записывать и выполнять операции внутри него, но никаким другим пользователям.
chmod 755 директория — предоставить владельцу полные права -rwxr-xr-x, а остальным пользователям право только на чтение и выполнение.chmod 644 директория — предоставить права на чтение и запись для владельца каталога, а остальным пользователям и группам оставить только на чтение содержимого.
Рекурсивное применение команды chmod
Чтобы выполнить рекурсивное изменение прав доступа, используйте флаг -R или —recursive с командой chmod. Например:
- chmod -R 755 каталог — установит права -rwxr-xr-x для всех файлов и каталогов внутри указанного каталога и самого каталога.
- chmod -R u+rwx,go-rwx каталог — добавит владельцу права на чтение, запись и выполнение, а группе и остальным пользователям уберет все права для всех файлов и каталогов в указанной директории и её подкаталогах.
Рекурсивное изменение прав доступа — отличный инструмент для обновления разрешений для файлов и каталогов одновременно.
Ключ —reference и его использование
Ключ —reference в команде chmod предоставляет удобный способ копирования прав доступа с одного файла или каталога на другой. Этот ключ позволяет быстро и просто применить права доступа из одного источника к другому. Это может быть особенно полезно, когда вам нужно согласовать права доступа между элементами файловой системы.
Синтаксис использования ключа —reference выглядит следующим образом:
chmod --reference=RFILE file- —reference=RFILE. Этот аргумент указывает путь к файлу или каталогу, из которого будут скопированы права доступа.
- file: это целевой файл или каталог, для которого вы хотите установить права доступа, согласно указанному источнику.
Важно отметить, что —reference не просто добавляет или удаляет определенные разрешения, а полностью перезаписывает права доступа целевого элемента.
Заключение
Мы рассмотрели синтаксис команды chmod, ее параметры и ключи, а также основные методы изменения прав доступа. Мы изучили символьную нотацию и числа, которые позволяют гибко настраивать необходимые вам права.
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.