Линукс изменить права всей папки

Смена прав доступа пользователю в Linux

Содержание

Общая информация о правах доступа в Linux

Режим доступа к файлу можно изменить с помощью команды chmod. Изменять права доступа к файлу позволено только его владельцу либо пользователю root. В UNIX-системах код задается в виде восьмеричного числа. Также поддерживается система мнемонических (буквенных) обозначений. Первый способ удобнее для системного администратора, но при этом можно задать только абсолютное значение режима доступа. А используя мнемонический синтаксис, вы можете сбрасывать и устанавливать отдельные параметры, к примеру, добавить право на чтение либо убрать право на запись.

Первым аргументом команды chmod является спецификация прав доступа, то есть восьмеричное число (774, 777 и т.д.) либо мнемоническое обозначение (r+o, w-u и т.д.). Второй и последующий аргументы — имена файлов, права доступа к которым подлежат изменению. При использовании восьмеричной нотации первая цифра относится к владельцу, вторая — к группе, а третья — к остальным пользователям.

Права доступа к файлам подразделяются на следующие:
r — право на чтение данных.
w — право на изменение содержимого (запись – только изменение содержимого, но не удаление).
x — право на исполнение файла.

Теперь о правах доступа к папке (директории):
r — право на чтение директории (можно прочитать содержимое директории, т.е. получить список объектов, находящихся в ней)
w — право на изменение содержимого директории (можно создавать и удалять объекты в этой директории, причем если вы имеете право на запись, то удалять вы сможете даже те файлы, которые вам не принадлежат)
x — право, которое позволяет вам войти в директорию (это право всегда проверяется в первую очередь, и даже если вы имеете все нужные права на объект, который закопан глубоко в цепочке директорий, но не имеете права “X” для доступа хотя бы к одной директории на пути к этому файлу, то к нему вы так и не пробьетесь)

В таблице указано восемь возможных комбинаций:

Восьмеричное число Двоичное число Режим доступа
0 000
1 001 —x
2 010 -w-
3 011 -wx
4 100 r—
5 101 r-x
6 110 rw-
7 111 rwx

предоставляет владельцу все права, а всем остальным пользователям — только право выполнения, а команда:

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

Для применения прав доступа ко всем вложенным в директорию файлам и папкам (рекурсивно) необходимо в команду добавить ключ -R. То есть команда будет выглядеть как:

Примеры мнемонических спецификаций команды chmod:

Спецификация Значение
u+w Владельцу файла дополнительно дается право выполнения.
ug=rw,o=r Владельцу и группе предоставляется право чтения/записи, остальным пользователям — право чтения.
a-x Все пользователи лишаются права выполнения.
ug=srx,o= Владельцу и группе дается право чтения/выполнения, устанавливается также бит SUID; остальным пользователям запрещен доступ к файлу.
g=u Группе назначаются такие же права, что и владельцу

Символ u («user») обозначает владельца файла, символ g («group») — группу, символ о («others») — других пользователей, символ a («all») — всех пользователей сразу.
То есть, если необходимо убрать право на редактирование всех вложенных файлов и папок у других пользователей, то с помощью мнемонических обозначений команда будет выглядеть следующим образом:

В качестве примера мы будем устанавливать права доступа 777 для папки /var/www/mysite и всех вложенных в нее файлов и каталогов.
ВНИМАНИЕ! Установка прав доступа 777 используется исключительно в качестве примера, их использование может привести к уязвимости сервера!

Читайте также:  Блокировка защиты windows 10

Смена прав доступа

  1. Входим по протоколу SSH на ВПС с root привилегиями.
  2. Переходим с помощью команды cd в директорию, где расположена необходимая нам папка. В данном случае это /var/www:
  3. С помощью chmod устанавливаем рекурсивно права доступа для mysite:

Для подключения к серверу по протоколу SFTP мы будем использовать программу FileZilla. Данная программа бесплатна, поддерживает русский язык и кросплатформенна. Вы можете скачать ее с официального сайта: https://filezilla-project.org/. Обратите внимание, что в левой колонке отображает дерево каталогов Вашего компьютера, а в правой удаленной машины, в данном случае ВПС.

  1. Подключаемся к ВПС с root привилегиями по SFTP.
  2. Переходим в каталог /var/www
  3. Нажимаем правой кнопкой мышки на папке mysite и выбираем «Права доступа к файлу»

Во всплывающем окне устанавливаем необходимые права 777 и нажимаем «Перенаправить во вложенные каталоги» и выбираем «Применить ко всем каталогам и файлам» и нажимаем ОК.

ISPmanager

  1. Войти в КП от имени root пользователя.
  2. Зайти в «Система → Менеджер файлов»
  3. Перейти в директорию /var/www
  4. Выбрать папку mysite и в верхнем меню нажать кнопку «Атрибуты»

  • Во всплывающем окне установить права доступа 777.
  • В пункте «Изменить дочерние элементы» из выпадающего списка выбрать «изменить владельца и права для файлов и директорий»

    DirectAdmin

    К сожалению, в КП DirectAdmin не предоставляется доступ к корневой файловой системе с помощью встроенного менеджера файлов. В связи с этим, в качестве примера, мы изменим права доступа для директории /domains/domain.com/public_html/mysite

    1. Входим в КП DirectAdmin
    2. Нажимаем кнопку Files в панели сверху

  • Перейти в папку /domains/domain.com/public_html
  • Поставить галочку напротив каталога mysite, после чего установить права доступа к папке 777 и поставить галочку напротив Recursive, для применения данных прав доступа ко всем вложенным файлам и папкам.

    cPanel

    В cPanel также не предоставляется доступ к корневой директории, в связи с чем мы сменим, в качестве примера, права доступа для папки /public_html/mysite. Обратите внимание, что менеджер файлов доступен только на уровне пользователя.

    1. Войти в cPanel на уровне пользователя.
    2. Перейти в Файлы → Диспетчер файлов.

  • Перейти в директорию /public_html
  • Выделить папку mysite и нажать «Разрешения»

    В всплывающем окне установить необходимые права доступа и нажать «Change Permissions». Обратите внимание, что файловый менеджер cPanel не умеет изменять права для всех вложенных файлов и папок. Рекурсивно сменить права доступа Вы всегда сможете с помощью SSH либо SFTP протоколов.

    Источник

    Как дать права на папку пользователю Linux

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

    Иногда возникает необходимость дать определенному пользователю или программе возможность доступа к папке. На первый взгляд, это может показаться сложным, но решается все довольно просто. В этой статье мы разберем как дать права на папку пользователю Linux.

    Права пользователя на папку Linux

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

    • Изменить права для всех — тогда все пользователи получат доступ к нашей папке, в том числе и нужный пользователь. Но, обычно, так никто не делает, потому что это небезопасно и в производственных системах важные данные могут попасть в чужие руки;
    • Изменить владельца папки на нашего пользователя — по умолчанию владелец имеет полные права на папку, то есть запись и чтение. Если мы сделаем владельцем нашего пользователя, то он автоматически получит все права, а другие пользователи по-прежнему не смогут получить доступ к папке. Но такой вариант тоже не совсем правильный, потому что, обычно, у папки уже есть владелец и изменив владельца мы уберем у него доступ;
    • Добавить к папке группу и добавить в нее пользователя — самый верный путь. Файл или папка может принадлежать определенной группе пользователей, но только одной, и мы можем установить для этой группы отличающиеся от владельца права. Но в группу можно добавить несколько пользователей, поэтому мы никого не оставляем без доступа. По умолчанию, для всех файлов устанавливается группа владельца, но это можно очень просто изменить.

    Теперь давайте разберем как это реализуется на практике. Допустим, у нас есть папка /storage, владельцем которой является пользователь /root:

    ls -l / | grep storage

    У папки такие права, что записывать в нее данные может только root, а другие пользователи могут их только смотреть. Нам надо предоставить к ней доступ на запись и чтение пользователю sergiy. Сейчас у него такого доступа нет:

    Давайте создадим группу storage и добавим в нее пользователя sergiy:

    sudo groupadd storage
    sudo usermod -aG storage sergiy

    Смотрим список групп нашего пользователя:

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

    sudo chgrp storage /storage

    Если нужно дать права на папку в Linux еще какому-нибудь пользователю, то достаточно добавить его в эту группу. Посмотрим список пользователей группы:

    Теперь наша папка выглядит вот так:

    ls -l / | grep storage

    Осталось подправить права для группы, нужно дать разрешение на чтение и запись:

    chmod g+rw /storage

    Затем пользователь sergiy сможет записывать и читать файлы из этой папки, а все остальные пользователи только читать.

    Выводы

    В этой небольшой статье мы рассмотрели дать права пользователю linux на доступ к папке. Для серверов это может быть достаточно частой задачей, поскольку пользователи — это не только люди, использующие систему, но и программы, выполняемые от имени того или иного пользователя. А это создает еще одно применение для этой системы прав. Если у вас остались вопросы, спрашивайте в комментариях!

    Источник

    Команда chmod в Linux


    Команда chmod, команда chown и команда chgrp.

    Команда chmod

    Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».

    Синтаксис команды chmod следующий:

    Разрешения можно задавать двумя способами:

    Изменение прав доступа командой chmod

    Запись прав доступа числом

    В данном формате права доступа задаются не символами rwx, как описано выше, а трехзначным числом. Каждая цифра числа означает определенный набор прав доступа.

    • Первая цифра используется для указания прав доступа для пользователя.
    • Вторая цифра для группы.
    • Третья для всех остальных.

    В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):

    Число Разрешения Символьное обозначение
    0 разрешения отсутствуют
    1 x — запуск —x
    2 w — изменение -w-
    3 x+w — запуск+изменение -wx
    4 r — чтение r—
    5 r+x — чтение+запуск r-x
    6 r+w — чтение+изменение rw-
    7 r+w+x — чтение+изменение+запуск rwx

    Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:

    Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 7 6 4 , которые означают:

    • 7 — права для владельца-пользователя. Владелец файла может читать, изменять и запускать файл (r+w+x).
    • 6 — права для группы. Пользователи, которые принадлежат группе могут читать и изменять файл (r+w).
    • 4 — права для всех остальных. Все остальные могут только читать файл (r).

    Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».

    В таблице ниже приведены некоторые часто используемые значения числовых значений прав доступа:

    Числовое
    обозначение
    «rwx»-обозначение Описание
    400 -r——— Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены.
    644 -rw-r—r— Все пользователи могут читать файл. Владелец может изменять файл.
    660 -rw-rw—- Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены.
    664 -rw-rw-r— Все могут читать файл. Владелец и группа могут изменять.
    666 -rw-rw-rw- Все могут читать и изменять файл.
    700 -rwx—— Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены.
    744 -rwxr—r— Все могут читать файл. Владелец может также изменять и запускать файл.
    755 -rwxr-xr-x Все могут читать и запускать файл. Владелец может также изменять файл.
    777 -rwxrwxrwx Все пользователи могут читать, изменять и редактировать файл.

    Запись прав доступа символами

    Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «» и такие символы как, например, «g» или «u».

    Общий синтаксис можно записать примерно так:

    Обозначения для владельцев файла следующие:

    Обозначение Описание
    u Владелец-пользователь.
    g Группа.
    o Все остальные.
    a Вообще все.

    Математические операции означают следующее:

    Оператор Описание
    + Добавляет к текущим правам доступа новое разрешение.
    Удаляет из текущих прав доступа определенное разрешение.
    = Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми).

    В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).

    В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1 .

    Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).

    Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.

    Разрешаем владельцу (u) и группе (g) запускать файл (x).

    Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.

    Рекурсивное изменение прав доступа

    Если необходимо изменить права доступа на все файлы в директории, включая вложенные директории, то для этого существует опция -R, что означает рекурсивное изменение прав доступа для директорий и их содержимого. Например, изменим права доступа у всех файлов в директории Mydir:

    И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:

    Видео-обзор команды chmod

    Команда chown — изменение владельца и группы

    Для изменения владельца и группы файла используется команда chown.

    Для изменения владельца файла используется следующий синтаксис:

    Например, установим для файла myfile нового владельца vasya:

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

    Например, установим для файла myfile нового владельца vasya и группу sambashare:

    Команда chgrp — изменение группы

    Есть еще одна команда — chgrp. Она позволяет изменить только группу. Например:

    Резюме

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

    Разрешения задаются для владельца, группы и для всех остальных.

    Есть три вида разрешений — r — чтение, w — изменение, x — запуск.

    Чтобы изменить разрешения у файла используется команда chmod.

    Чтобы изменить владельца или группу используется команда chown.

    Чтобы изменить группу используется chgrp.

    Источник

    Читайте также:  Ati x1250 linux driver
  • Оцените статью