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

Смена прав доступа пользователю в 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 Группе назначаются такие же права, что и владельцу
Читайте также:  Переворот экрана windows сочетание клавиш

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

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

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

  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 / Unix и устанавливать нового владельца файла/папки через командную строку. Существует 2 базовые команды, которые могут быть использованы для данных целей: chmod и chown.

    Прокачайте ваш Linux сервер, воспользовавшись скидками на VPS-хостинг в Hostinger!

    Что вам понадобится

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

    • Доступ к командной строке

    Шаг 1 – Как изменить права доступа в Linux через командную строку

    chmod – эта команда используется для изменения прав доступа к файлу или папке. Каждый файл имеет типы пользователей, которые могут с ним взаимодействовать:

    Тип Объяснение
    Владелец (owner) Пользователь, создавший и владеющий данным файлом или папкой.
    Группа (group) Все пользователи, члены одной группы.
    Другие (other) Все другие пользователи в системе, не являющиеся ни владельцами, ни членами группы.

    Команда ls -l, может быть использована для отображения прав доступа и владельца. К примеру, команда ls -l file1.txt отобразит:

    -rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

    • “-rwxr–rw-“ – эта часть строки показывает права доступа. Здесь 4 главные буквы на которые вам надо обратить внимание: r,w,x,d. d означает, что тип файла — это каталог. В нашем примере, такой буквы нет (она стояла бы первой в строке), здесь вместо нее стоит символ “-“ (который в основном означает “нет”). Буква x означает разрешение на выполнение файла или папки (это разрешение необходимо для входа в папку). Буква w означает разрешение на запись файла или папки (редактирование, удаление и т.д.) И наконец последняя буква r, которая означает чтение. Если у вас есть права на чтение файла, вы можете прочесть содержимое файла, но не сможете предпринять другие действия (к примеру, вы можете прочитать код скрипта, но не сможете выполнить его).
    • 1 – число хард связи. Проще говоря, хард связь это дополнительное имя для существующего файла.
    • user user – это значение показывает владельца файла и его группу.
    • 0 – это значение показывает размер файла.
    • Jan 19 12:59 – отображает дату последнего изменения.
    • file1.txt – предоставляет имя файла или папки.

    Хорошо, теперь давайте вернемся к команде chmod. Это команда позволяет нам изменить права доступа к файлу или папке. Мы научим вас, как это сделать просто складывая номера. Каждое из прав доступа имеет свой собственный номер:

    • r (чтение) – 4
    • w (запись) – 2
    • x (выполнение) – 1

    К примеру, если мы хотим изменить права доступа к файлу file1.txt на эти:

    -rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

    Мы должны написать следующую команду:

    Каждый номер в этой команде представляет собой права для одного из типов пользователей (владелец, группа и другие). Первый номер 7. Теперь, используя объяснение числовых значений выше, единственный вариант для получения числа 7 — сложение чисел 4, 2 и 1, получаем 4+2+1=7. Проще говоря, это означает ВСЕ права доступа (чтение, запись, выполнение — rwx). Первый номер устанавливает права доступа для владельца файла. Второй номер 4, который означает права доступа -r (чтение), устанавливает права доступа для группы владельца. Третий номер 6, используя тот же способ, что и с первым номером, 4+2=6, дает группе другие, права на чтение (4) и запись (2) файла. Третья часть в команде (file1.txt) – это имя файла для которого мы изменяем права доступа.

    Еще один пример:

    эта команда даст все права для каждого типа пользователей (владелец, группа и другие).

    Вот список самых наиболее распространённых прав доступа для файлов:

    Значение Цифровое значение Объяснение
    -rw——- 600 Владелец может читать и записывать файл.
    -rw-r–r– 644 Владелец может читать и записывать файл, группа и другие могут только читать.
    -rw-rw-rw- 666 Владелец, группа и другие могут читать и записывать.
    -rwx—— 700 Владелец может читать, записывать и выполнять, группа и другие не имеют никаких прав доступа.
    -rwx–x–x 711 Владелец может читать, записывать и выполнять, группа и другие могут только выполнять.
    -rwxr-xr-x 755 Владелец может читать, записывать и выполнять, группа и другие могут читать и выполнять.
    -rwxrwxrwx 777 Все типы пользователей могут читать, записывать и выполнять.

    Наиболее распространенные права доступа для каталогов:

    Значение Цифровое значение Объяснение
    drwx—— 700 Только владелец может читать и записывать в этом каталоге.
    drwxr-xr-x 755 Владелец, группа и другие могут читать каталог, но только владелец может изменять содержимое.

    Существуют и другие способы изменения прав доступа в Linux, используя команду chmod. Но нашей персональной рекомендацией станет, изучение одной из этих команд и её использование (в этом случае способ с номерами). Если вы хотите узнать больше о других путях изменения прав доступа, вы можете прочитать об этом здесь.

    Шаг 2 – Изменение владельца файла или папки через командную строку

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

    К примеру, если у нас есть файл “demo.txt” и мы хотим изменить владельца на “jerry” и группу владельца на “clients”, нам необходима эта команда:

    Как вы видите, мы отделили владельца и группу владельца символом “:” (двоеточие). Если мы хотим поменять только владельца файла, используем этот код:

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

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

    В этом случае, группа владельца изменится на clients (владелец останется прежним).

    Шаг 3 – Использование дополнительных опций с командами chmod и chown

    Одна из основных опций работающая с обеими командами это -R, которая означает рекурсивный. Эта опция позволяет вам менять права доступа и владельца файла, заданной папки и ВСЕХ других файлов внутри нее.

    ВАЖНО! Будьте очень осторожны с этой опцией, если вы используете ее неправильно, вы можете изменить права доступа и владельца ВСЕХ файлов в вашей системе, что приведет к ошибкам в работе и трате огромного количества времени на откат изменений.

    • “-f” – тихая или силовая опция. При использовании данной опции скроет большинство сообщений об ошибках.
    • “-v” – делает диагностику каждого файла затронутого командой.
    • “-c” – схожа с опцией -v, но предоставляет информацию только в случае реальных изменений.

    Заключение

    В этом руководстве вы научились, как изменить права доступа Linux и узнали команды для смены владельца папки или файла. Знание данных команд поможет вам в более удобном управлении вашим сервером. Если вы хотите продолжить изучение по данной теме, проверьте эти руководства:

    Источник

    Читайте также:  Сервер лицензий windows настройка
  • Оцените статью