Как просматривать и изменять права доступа в Linux

Не так давно, создавая пользователя для удаленного подключения по ssh на своем сервере FreeBSD, я в виду невнимательности и частичной занятости на работе передал рекурсивно права на ново зарегистрированного пользователя. Суть команды была примерно в следующем:

Уровни прав на файлы и папки

  1. Право на чтение файла (обозначается буквой r — read). Для папки это значит, что пользователь может увидеть список файлов и папок, находящихся в этой папке.
  2. Право на редактирование и удаление файла (обозначается буквой w — write). Для папки это разрешение на создание файлов в этой папке.
  3. Право на исполнение (обозначается буквой x — eXecute). Разрешен доступ к файлу для запуска программ или скриптов, записанных в этом файле. Для папок право на исполнение разрешает перейти в эту директорию.
Уровни прав на файлы и папки
Уровни прав на файлы и папки

Смотрим права доступа

Но довольно теории, давайте теперь посмотрим, как просматривать и изменять права доступа в Linux. Узнать права доступа для файла или папки можно в свойствах объекта на вкладке «Права», но для получения полной картины лучше использовать терминал.

Смотрим права доступа

Откройте его в каталоге с файлами и выполните такую команду:

ls -l

Смотрим права доступа

Если нужно просмотреть права конкретного файла, к команде через пробел нужно добавить имя файла, например, ls -l , если речь идет о папке, то указывается ее имя. В результате вы получите в терминале такую картинку.

Обратите внимание на набор из десяти символов в начале каждой строки, это символьное обозначение прав доступа в Линукс.

Смотрим права доступа

Первый символ обозначает тип данных, например, дефис означает, что вы имеете дело с обычным файлом, смотрите скриншоты ниже.

В следующих девяти символах «закодированы» права доступа. На самом деле, права указаны в каждой тройке символов, то есть полученную строку rwxrwxrwx можно представить как rwxrwxrwx. Первая группа — это права доступа хозяина объекта, вторая группа — это права системной группы, третья тройка символов означает права на файл для всех прочих пользователей.

Смотрим права доступа

А вот что означают сами символы:

Читайте также:  Установка и настройка расширения friGate в разных браузерах

Зная обозначения, можно легко разобрать любую комбинацию. Например, rwx означает, что пользователь или группа имеет права на чтение, запись и исполнение, r-x — права на доступ и исполнение, но с запретом на изменение или удаление, rw- станет означать наличие прав на чтение и запись, но не право запускать файл как исполняемый.

Как изменить владельца

Изменения владельца и группы можно сделать как из консоли, так и при помощи различных приложений. Например, практически во всех графических окружениях это позволяет диспетчер файлов (в используемом мной Cinnamon это Nemo, в KDE − Dolphin). Также это позволяет файловый менеджер Double Commander и прочие приложения.

Внимание! Для изменения владельца и группы для файла нужны права суперпользователя. В Ubuntu/Mint для этого перед командой надо набрать «sudo».

Для наглядности будем выполнять операцию из консоли, для этого в Cinnamon/GNOME/MATE нужно нажать Ctrl+Alt+T (если вы не меняли эту комбинацию клавиш). Для изменения владельца используется команда chown, которая так и расшифровывается (англ. «change owner»).

По умолчанию консоль запускается в домашней папке, здесь и будем пробовать. Для начала создадим папку для экспериментов:

mkdir testdir

Если мы выведем список файлов при помощи «ls -l», то увидим следующую строку (вместо «rizado» будет ваше имя пользователя):

drwxr-xr-x 2 rizado rizado 4096 мар 23 19:33 testdir

Теперь попробуем изменить владельца и группу, причём поставить их разными (слэш в конце имени папки необязателен, я использую для удобства − сразу видно, что не файл). Первым указывается владелец, затем через двоеточие группа:

sudo chown root:audio testdir/

Если после этого вывести список файлов, то строка будет иметь следующий вид:

drwxr-xr-x 2 root audio 4096 мар 23 19:33 testdir

Читайте также:  Как отключить автоматическое обновление приложений на Айфоне

Аналогично владельца можно изменить обратно (подставьте своё имя пользователя и группы):

sudo chown rizado:rizado testdir/

Для файлов меняется аналогично. Интересный момент, что при смене владельца и группы для папки эти значения для вложенных файлов и папок не меняются. Для обработки всех вложенных объектов нужно указать ключ «-R» (именно заглавную букву):

sudo chown root:root -R testdir/

Больше информации можно получить, набрав в консоли:

chown —help

или

man chown

Простых Примеров:

1. Добавить всем права на чтение файла:

$ chmod a+r file

2. Забрать права на исполнение файла у всех:

Простых Примеров:

$ chmod a-x file

3. Добавить всем права на чтение и запись:

$ chmod a+rw file

4. Установить права на чтение и запись для владельца и забрать права у всех остальных:

$ chmod u=rw,go= file

Простых Примеров:

5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных:

$ chmod -R u+w,go-w directory

6. Забрать у всех все права:

$ chmod file

7. Дать всем права на права на чтение, запись и выполнение файла:

Простых Примеров:

$ chmod 777 file

8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение:

$ chmod 664 file

9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных:

$ chmod -R u+rwX,g-rwx,o-rwx directory

Простых Примеров:

10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий.

Занимаясь созданием своего собственного сайта или работая с файлами на сервере, вы наверняка сталкивались с ограничением прав доступа к какому-либо файлу или папке. К примеру, для успешной установки определенных скриптов необходимо установить права на запись для определенных файлов и папок, иначе установка пройдет с ошибками. В данном руководстве вы узнаете, как изменить права доступа к файлам и папкам. Но перед этим немного теории.

Читайте также:  Как настроить xRDP для Ubuntu 20.04 в Windows Hyper-V?

Для чего может понадобится изменение прав доступа

Изменение прав доступа может понадобится во многих случаях. Не удаляясь от темы создания сайта, оно может понадобиться при установке какой-либо CMS, при установке плагинов, модулей или для улучшения защиты вашего сайта. Правильно выставленные права к файлам движка вашего сайта являются залогом того, что ваш сайт будет гораздо устойчивее к вредоносным программам или попыткам взлома. Однако необходимо учесть, что стоит внимательно отнестись к изменению прав доступа, так как неправильно выставленные значения могут серьезно повлиять на работу вашего сайта.

Какие существуют права доступа

Простых Примеров:

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

Для файлов:

  • r – права на чтение данных файла.
  • w – права на изменение содержимого файла.
  • x – права на исполнение файла.

Для папок:

  • r – права на просмотр содержимого папки.
  • w – права на изменение содержимого папки.
  • x – права на вход в папку.
Простых Примеров:

Однако в случае с изменением прав доступа через FTP-клиент, вам необходимо знать об их числовом значении.

  • Права на чтение – 4
  • Права на запись – 2
  • Права на выполнение – 1

К примеру, чтобы установить все права доступа к файлу необходимо указать числовое значение 7. То есть 4 (чтение) + 2 (запись) + 1 (выполнение) = 7 (все права доступа).

Еще одной темой для знакомства станут группы. Права доступа могут устанавливаться для нескольких групп:

  • u – владелец
  • g – группа владельца
  • o – все остальные
Простых Примеров:

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

В данном руководстве мы затронем изменение прав только с помощью Файлового Менеджера и FTP-клиента.

Для получения информации об изменении прав доступа на Linux посетите

Перед тем, как вы начнете это руководство, вам понадобится следующее:

  • Доступ к панели управления вашим хостингом
  • FTP-клиент или Файловый Менеджер
Простых Примеров: