Linux изменение прав для файла

Содержание
  1. Понимание прав доступа к файлам в Linux
  2. Understanding Linux File Permissions
  3. В Linux права доступа к файлам, атрибуты и владение управляют уровнем доступа, который система обрабатывает, а пользователи имеют к файлам. Это гарантирует, что только авторизованные пользователи и процессы могут получить доступ к определенным файлам и каталогам.
  4. Права доступа к файлам в Linux
  5. Изменение прав доступа к файлу
  6. Символьный (текстовый) метод
  7. Числовой метод
  8. Заключение
  9. Инструкции
  10. Командная строка Linux: краткий курс для начинающих
  11. Перенаправление ввода/вывода в Linux
  12. Работа с файлами и каталогами в Linux
  13. Как сгенерировать SSH-ключ для доступа на сервер
  14. Как установить и настроить веб-сервер Apache
  15. Руководство по написанию скриптов в Linux Bash
  16. Введение в Git: настройка и основные команды
  17. Как установить MySQL на Windows
  18. Как установить и использовать MySQL Workbench
  19. Создание нового пользователя и настройка прав в MySQL
  20. Как изменить Права Доступа в Linux
  21. Введение
  22. Что вам понадобится
  23. Шаг 1 – Как изменить права доступа в Linux через командную строку
  24. Шаг 2 – Изменение владельца файла или папки через командную строку
  25. Шаг 3 – Использование дополнительных опций с командами chmod и chown
  26. Заключение

Понимание прав доступа к файлам в Linux

Understanding Linux File Permissions

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

Права доступа к файлам в Linux

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

  • Владелец файла.
  • Члены группы.
  • Другие (все остальные).

Собственности файла можно изменить с помощью chown и chgrp команды.

К каждому классу пользователей применяются три типа прав доступа к файлам:

  • Разрешение на чтение.
  • Разрешение на запись.
  • Разрешение на выполнение.

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

Чтобы просмотреть права доступа к файлу, используйте ls команду:

Первый символ указывает тип файла. Это может быть обычный файл ( — ), каталог ( d ), символическая ссылка ( l ) или другие специальные типы файлов. Следующие девять символов представляют права доступа к файлу, три тройки по три символа каждая. Первый триплет показывает разрешения владельца, второй — разрешения группы, а последний триплет — разрешения для всех остальных.

В приведенном выше примере ( rw-r—r— ) означает, что владелец файла имеет права на чтение и запись ( rw- ), а группа и другие пользователи имеют только права на чтение ( r— ).

Права доступа к файлам имеют разное значение в зависимости от типа файла.

Каждый из трех триплетов разрешений может состоять из следующих символов и иметь разные эффекты, в зависимости от того, установлены ли они для файла или для каталога:

Влияние разрешений на файлы

Разрешение Метка Значение в файле
Чтение
Read
Файл не читается. Вы не можете просматривать содержимое файла.
r Файл доступен для чтения.
Запись
Write
Файл не может быть изменен или изменен.
w Файл можно изменить или модифицировать.
Выполнение
Execute
Файл не может быть выполнен.
x Файл можно запустить.
s Если он находится в user триплете, он устанавливает setuid бит. Если он находится в group триплете, он устанавливает setgid бит. Это также означает, что x флаг установлен.
Когда для исполняемого файла установлены флаги setuid или setgid , файл выполняется с правами владельца и / или группы.
S То же s , но x флаг не установлен. Этот флаг редко используется для файлов.
t Если он находится в others триплете, он устанавливает sticky бит.
Это также означает, что x флаг установлен. Этот флаг бесполезен для файлов.
T То же, t но x флаг не установлен. Этот флаг бесполезен для файлов.

Влияние разрешений на каталоги (папки)

Каталоги — это особые типы файлов, которые могут содержать другие файлы и каталоги.

Разрешение Метка Значение в каталоге
Чтение
Read
Содержимое каталога не может быть отображено.
r Можно показать содержимое каталога.
(например, вы можете перечислить файлы внутри каталога с помощью ls .)
Запись
Write
Содержимое каталога не может быть изменено.
w Содержимое каталога может быть изменено.
(например, вы можете создавать новые файлы , удалять файлы и т. д.)
Выполнение
Execute
Каталог не может быть изменен на.
x По каталогу можно перемещаться с помощью cd .
s Если он находится в user триплете, он устанавливает setuid бит. Если он находится в group триплете, он устанавливает setgid бит. Это также означает, что x флаг установлен. Когда setgid для каталога установлен флаг, новые файлы, созданные в нем, наследуют идентификатор группы каталогов (GID) вместо идентификатора основной группы пользователя, создавшего файл.
setuid не влияет на каталоги.
S То же s , но x флаг не установлен. Этот флаг бесполезен для каталогов.
t Если он находится в others триплете, он устанавливает sticky бит.
Это также означает, что x флаг установлен. Когда для каталога установлен бит закрепления, только владелец файла, владелец каталога или административный пользователь могут удалять или переименовывать файлы в каталоге.
T То же t , но x флаг не установлен. Этот флаг бесполезен для каталогов.

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

Права доступа к файлу можно изменить с помощью chmod команды. Только root, владелец файла или пользователь с привилегиями sudo могут изменять права доступа к файлу. Будьте особенно осторожны при использовании chmod , особенно при рекурсивном изменении разрешений. Команда может принимать в качестве аргументов один или несколько файлов и / или каталогов, разделенных пробелом.

Разрешения можно указать с помощью символьного режима, числового режима или справочного файла.

Символьный (текстовый) метод

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

Первый набор flags ( [ugoa…] ), флаги пользователей, определяет классы пользователей, для которых изменяются права доступа к файлу.

  • u — Владелец файла.
  • g — Пользователи, входящие в группу.
  • o — Все остальные пользователи.
  • a — Все пользователи, идентичные ugo .

Когда флаг пользователя опущен, по умолчанию используется a .

Второй набор flags ( [-+=] ), флаги операции, определяет, следует ли удалить, добавить или установить разрешения:

  • — — Удаляет указанные разрешения.
  • + — Добавляет указанные разрешения.
  • = — Изменяет текущие разрешения на указанные разрешения. Если после = символа не указаны разрешения, все разрешения указанного класса пользователей удаляются.

Разрешения ( perms. ) явно устанавливается с помощью либо ноль , либо один или несколько из следующих букв: r , w , x , X , s , и t . Используйте одну букву из набора u , g и o при копировании разрешений из одного класса пользователей в другой.

При настройке разрешений для более чем одного пользовательского класса ( [,…] ) используйте запятые (без пробелов) для разделения символьных режимов.

Вот несколько примеров того, как использовать chmod команду в символьном режиме:

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

Удалите разрешение на запись для всех пользователей:

Отвратительно удалите разрешение на выполнение для других пользователей:

Удалите права на чтение, запись и выполнение для всех пользователей, кроме владельца файла:

То же самое можно сделать с помощью следующей формы:

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

Числовой метод

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

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

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

Каждое разрешение на запись, чтение и выполнение имеет следующее числовое значение:

  • r (читать) = 4
  • w (написать) = 2
  • x (выполнить) = 1
  • нет разрешений = 0

Количество разрешений определенного класса пользователей представлено суммой значений разрешений для этой группы.

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

  • Владелец: rwx = 4 + 2 + 1 = 7
  • Группа: rx = 4 + 0 + 1 = 5
  • Другое: rx = 4 + 0 + 0 = 4

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

Для того, чтобы настроить setuid , setgid и sticky bit флаги, используйте номер четыре цифры.

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

  • setuid = 4
  • setgid = 2
  • липкий = 1
  • без изменений = 0

Следующие три цифры имеют то же значение, что и при использовании трехзначного номера.

Если первая цифра равна 0, ее можно не указывать, а режим можно представить тремя цифрами. Числовой режим 0755 такой же, как 755 .

Для вычисления числового режима вы также можете использовать другой метод (двоичный метод), но он немного сложнее. Знания, как рассчитать числовой режим с использованием 4, 2 и 1, достаточно для большинства пользователей.

Вы можете проверить права доступа к файлу в числовом формате с помощью stat команды:

Вот несколько примеров того, как использовать chmod команду в числовом режиме:

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

Предоставьте владельцу файла права на чтение, запись и выполнение, права на чтение и выполнение для членов группы и никаких разрешений для всех остальных пользователей:

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

Рекурсивно установить разрешения на чтение, запись и выполнение для владельца файла и отсутствие разрешений для всех других пользователей в данном каталоге:

Заключение

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

Источник

Инструкции

27 сентября 2021

Командная строка Linux: краткий курс для начинающих

27 сентября 2021

Перенаправление ввода/вывода в Linux

27 сентября 2021

Работа с файлами и каталогами в Linux

26 сентября 2021

Как сгенерировать SSH-ключ для доступа на сервер

23 сентября 2021

Как установить и настроить веб-сервер Apache

23 сентября 2021

Руководство по написанию скриптов в Linux Bash

21 сентября 2021

Введение в Git: настройка и основные команды

21 сентября 2021

Как установить MySQL на Windows

21 сентября 2021

Как установить и использовать MySQL Workbench

20 сентября 2021

Создание нового пользователя и настройка прав в MySQL

© ООО «Селектел», 2008—2021

Полностью изолированные физические серверы любой конфигурации с облачной готовностью

Виртуальные машины с моментальным масштабированием и поддержкой Infrastructure-as-code

В дата-центрах TIER III Москвы, Санкт‑Петербурга и ЛО

Инфраструктура на базе VMware для бизнес-критичных задач любой сложности

Готовые к работе управляемые базы данных PostgreSQL и MySQL™

Полностью готовый к работе кластер Kubernetes для управления контейнерами

Масштабируемое хранилище данных с гибким ценообразованием, поддержкой FTP и S3 API

Запуск кода по запросу или событию без создания и обслуживания сервера

Источник

Как изменить Права Доступа в 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 и узнали команды для смены владельца папки или файла. Знание данных команд поможет вам в более удобном управлении вашим сервером. Если вы хотите продолжить изучение по данной теме, проверьте эти руководства:

Источник

Читайте также:  Клиент для сетей linux
Оцените статью