Как изменить права доступа и владельца/группу для файлов и каталогов

25.05.2020 на прочтение 3 минуты

В этой инструкции разберем как изменять владельца/группу, а также  права доступа к файлам и директориям.  Вступительную теоретическую информацию по этой теме, а именно какие существуют права доступа и пользователи в системе Linux, можно найти в нашей статье здесь.  

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

 

Изменение  владельца/группы для файлов и каталогов

Изменить владельца папки/файла имеет возможность специальный  пользователь root. Для этих целей наиболее часто используется команда chown, но как вариант возможно и через команду find.

  • для изменения владельца  для папки/файла

chown [владелец] [путь к папке/файлу]

Например, изменим владельца на maria для файла newdata.txt 

chown maria /orders/newdata.txt

  • изменение группы папки/файла

chown [:группа] [путь к папке/файлу]

  • изменение и владельца и группы папки/файла

chown [владелец:группа] [путь к папке/файлу]

 

Опция -R используется для рекурсивного изменяя прав владения в полностью всей директории (сразу у всех подкаталогах и для всех файлов в этих подкаталогах).

  • рекурсивно сменить владельца 

chown  -R [владелец:группа] [путь к папке/файлу]

  • через find изменение владельца папки

find [путь к папке] -type d -exec chown [владелец] {} \

  • аналогично изменяем для группы 

find [путь к папке] -type d -exec chown [:группа]  {} \

  • через find изменение владельца файла

find [путь к файлу]-type f -exec chown [владелец {} \

  • через find изменение группы

find [путь к файлу] -type f -exec chown  [:группа]  {} \

 

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

Для изменения прав доступа существует специальная команда chmod, с помощью которой можно в численном, либо в символьном представлении подать права нужным пользователям на указанные файлы или папки. Возможность надавать права доступа также имеет владелец соответствующего файла/папки. Рассмотрим ниже более детально, начнем с подачи прав в символьном виде, для этого используются операторы:

  • + - предоставляем указанное право;
  •  – - лишаем соответствующего права; 
  • =  - присвоение аналогичных прав.

 

В таком случае общий синтаксис команды chmod:

chmod [пользователь(и)_оператор_права] [путь к папке/файлу]

Пример 1, уберем для группы пользователей  (group, g) право на чтение (read, r) файла newdata.txt 

chmod g-r /orders/newdata.txt

Пример 2, установим права на запись (write, w) для всех типов пользователей для файла newdata.txt 

chmod ugo+w  /orders/newdata.txt

Пример 3, установим аналогичные права для группы и других пользователей системы для файла newdata.txt 

chmod g=o /orders/newdata.txt

Также здесь есть дополнительный символ a, all -  используется для обозначения сразу всех пользователей. 

Пример 4, убираем у всех пользователей право на чтение файла newdata.txt.

chmod a-r /orders/newdata.txt

При числовом указании прав синтаксис похож:

chmod [права] [путь к папке/файлу]

Пример 5: в владельца есть все права, в группы только на запись, и в остальных пользователей только на чтение на файл newdata.txt

chmod 724 /orders/newdata.txt

Пример 6: для всех типов пользователей предоставляем все права доступа на файл newdata.txt.

chmod 777 /orders/newdata.txt

 


Close Screen
Maria Kholodnitska
Статей: 221
Оцените статью:


Спасибо за отзыв
Рейтинг: 5 из 5 Голосов: 2