назначение прав доступа linux

Настройка прав доступа в Linux

В операционных системах, основанных на базе ядра Linux, присутствует инструмент настройки полномочий, который позволяет разделить права доступа между учетными записями. Благодаря этому выставляется ограничение на доступ к определенным файлам, директориям или приложениям. Всего существует три вида подобных прав — чтение, запись и выполнение. Любое из них может редактироваться отдельно под каждого зарегистрированного в ОС юзера с помощью специальных инструментов. Далее будет рассмотрено два метода конфигурации упомянутых параметров.

Настраиваем права доступа в Linux

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

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

Способ 1: Файловый менеджер

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

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

Способ 2: Команда chmod

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

Синтаксис chmod

Права доступа

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

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

Помимо этого, рассматриваемая команда принимает обозначения прав в виде цифр. Цифры от 0 до 7 означают определенный параметр:

Опции

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

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

Дополнительные действия

Примеры команды

Напоследок хотелось бы привести несколько примеров использования утилиты, чтобы у пользователей больше не осталось вопросов касаемо синтаксиса команды и ее применения. Обратите внимание на такие строки:

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

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

Помимо этой статьи, на сайте еще 12391 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Основы Linux от основателя Gentoo. Часть 3 (2/4): Модель прав доступа

Навигация по основам Linux от основателя Gentoo:
Часть I:
Часть II:
Часть III

Модель прав доступа в Linux

Один пользователь, одна группа

‘d’ директория
‘l’ символическая ссылка
‘c’ устройство символьного ввода-вывода
‘b’ устройство блочного ввода-вывода
‘p’ FIFO
‘s’ сокет

Три тройки

«rwx»
«r-x»
«r-x»

Выше r означает, что чтение (просмотр данных содержащихся в файле) разрешено, w означает запись ( изменение, а также удаление данных) разрешено и x означает исполнение (запуск программы разрешен). Собрав все воедино мы видим, что кому угодно разрешено читать содержимое и исполнять этот файл, но только владельцу (root) разрешено как либо модифицировать этот файл. Так что если нормальным пользователям разрешено копировать содержимое этого файла, то только root может изменять или удалять его.

Кто я?

Перед тем, как мы узнаем как изменить владельца или группу которой принадлежит файл, давайте сперва рассмотрим, как узнать вашего текущего пользователя и группу к которой вы принадлежите. Если вы не использовали команду su недавно, ваш текущий пользователь это тот, которым вы вошли в систему. Если вы часто используете su, вы можете не помнить пользователя под которым вы работаете в данный момент. Чтобы узнать под каким пользователем вы работаете, наберите whoami:

В каких группах я состою?

Чтобы увидеть к каким группам вы принадлежите используйте команду groups:

$ groups
drobbins wheel audio

Из этого примера видно, что я состою в группах drobbins, wheel, и audio. Если вы хотите посмотреть, в каких группах состоит другой пользователь, то передайте его имя в качестве аргумента.

$ groups root daemon
root : root bin daemon sys adm disk wheel floppy dialout tape video
daemon : daemon bin adm

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

Чтобы изменить владельца или группу файла (или другого объекта) используется команды chown или chgrp соответственно. Сначала нужно передать имя группы или владельца, а потом список файлов.

# chown root /etc/passwd
# chgrp wheel /etc/passwd

Вы также можете изменить пользователя и группу одновременно используя команду chown в другой форме:

# chown root:wheel /etc/passwd

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

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

Знакомство с chmod

$ chmod +x scriptfile.sh

В примере выше в качестве метода указано +x. Как можно догадаться, метод +x указывает chmod, что файл необходимо сделать исполняемым для пользователя, группы и для всех остальных. Если мы решим отнять все права на исполнение файла, то сделаем вот так:

Разделение между пользователем, группой и всеми остальными

До сих пор, наши примеры команды chmod влияли на права доступа всех трех наборов прав доступа — пользователя, группы и всех остальных пользователей. Часто бывает удобно изменить только один или два набора за раз. Чтобы сделать это, просто используйте специальный символ для обозначения набора прав доступа, который вам необходимо изменить, со знаком + или — перед ним. Используйте u для пользователя, g для группы и o для остальных пользователей.

$ chmod go-w scriptfile.sh

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

Сброс разрешений

Помимо переключения бит, отвечающих за права доступа, в состояние вкл/выкл, мы можем задать конкретные значения для всех сразу. Используя оператор равенства мы можем указать chmod, что хотим задать только указанные права доступа:

$ chmod =rx scriptfile.sh

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

$ chmod u=rx scriptfile.sh

Числовые режимы

До сих пор, мы использовали то что называется символическим способом указания прав доступа для команды chmod. Однако есть еще один достаточно распространенный способ указания прав: использование четырехзначных восьмеричных чисел. Этот синтаксис, называется числовым синтаксисом прав доступа, где каждая цифра представляет тройку разрешений. Например, в 1777, 777 устанавливают флаги о которых мы говорим в этом разделе, для владельца, группы, и остальных пользователей. 1 используется для указания специального бита прав доступа, который мы рассмотрим позже (смотрите «Неуловимая первая цифра» в конце раздела). Эта таблица показывает как транслируются права доступа на числовые значения.

Числовой синтаксис прав доступа

Числовой синтаксис прав доступа особенно полезен когда требуется указать все разрешения для файла, как показано в следующем примере:

umask

Когда процесс создает новый файл, он указывает, какие права доступа нужно задать для данного файла. Зачастую запрашиваются права 0666 (чтение и запись всеми), что дает больше разрешений, чем необходимо в большинстве случаев. К счастью, каждый раз, когда в Linux создается новый файл, система обращается к параметру, называемому umask. Система использует значение umask чтобы понизить изначально задаваемые разрешения на что-то более разумное и безопасное. Вы можете просмотреть текущие настройки umask набрав umask в командной строке:

В Linux-системах значением по умолчанию для umask является 0022, что позволяет другим читать ваши новые файлы (если они могут до них добраться), но не изменять их. Чтобы автоматически обеспечивать больший уровень защищенности для создаваемых файлов, можно изменить настройки umask:

Такое значение umask приведет к тому, что группа и прочие не будут иметь совершенно никаких прав доступа для всех, вновь созданных файлов. Итак, как работает umask? В отличие от «обычного» назначения прав доступа к файлу, umask задает какие права доступа должны быть отключены. Снова посмотрим на таблицу соответствия значений чисел и методов:

Знакомство с suid и sgid

В момент вашего входа в систему запускается новый процесс оболочки. Вы уже знаете об этом, но можете не знать о том, что этот новый процесс оболочки (обычно это bash) работает от имени вашего пользователя. И таким образом программа bash может обращаться ко всем файлам и директориям, владельцем которых вы являетесь. В действительности мы, как пользователи, полностью зависим от программ, выполняющих операции от нашего имени. И поскольку программы, которые вы запускаете, наследуют ваш пользовательский идентификатор, они не могут обращаться объектам файловой системы, к которым вам не предоставлен доступ. К примеру, обычные пользователи не могут напрямую изменять содержимое файла passwd потому что флаг записи отключен для всех пользователей кроме root:

Однако, обычным пользователям тоже нужно иметь возможность хотя бы опосредованно менять содержимое /etc/passwd когда им понадобится сменить пароль. Но если пользователь не может изменить этот файл, как это сделать?

К счастью, в модели прав доступа Linux имеются два специальных бита, называемых suid и sgid. Когда для запускаемой программы установлен бит suid, она будет работать от имени владельца исполняемого файла, а не от имени того, кто запустил программу. Теперь можем вернуться к вопросу с /etc/passwd. Если посмотрим на исполняемый файл passwd, увидим, что его владельцем является пользователь root:

Обратите внимание, что вместо x в триплете прав доступа владельца стоит s. Это означает что для этой конкретной программы установлены биты suid и права на запуск. По этой причине при запуске программы passwd она будет работать от имени пользователя root (со всеми правами доступа суперпользователя), а не пользователя, запустившего её. И поскольку passwd работает с правами суперпользователя, она способна редактировать /etc/passwd без каких либо сложностей.

Предупреждения о suid/sgid

Изменение suid и sgid

Способ установки и удаления битов suid и sgid чрезвычайно прост. Вот так мы задаем бит suid:

# chmod u+s /usr/bin/myapp

А в следующем примере мы снимаем флаг sgid с директории. Вы увидите, как бит sgid работает с директориями немного ниже:

# chmod g-s /home/drobbins

Права и директории

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

Если для директории задан флаг чтения, то вы можете просматривать список содержимого директории; флаг записи означает, что вы можете создавать файлы в директории; и флаг исполнения означает, что вы можете войти в директорию и обращаться ко всем поддиректориям внутри. Без флага исполнения у вас не будет доступа к объектам файловой системы внутри директории. Без флага чтения объекты файловой системы внутри директории нельзя просмотреть, но к объектам внутри директории все еще можно обратиться, если вы знаете полный путь к объекту на диске.

Директории и флаг sgid

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

# mkdir /home/groupspace
# chgrp mygroup /home/groupspace
# chmod g+s /home/groupspace

Теперь любые пользователи группы mygroup могут создавать файлы и директории внутри /home/groupspace и им также будет автоматически задана принадлежность группе mygroup. В зависимости от настроек umask для данного пользователя новые объекты файловой системы могут быть или не быть читаемыми, изменяемыми или исполняемыми другими пользователями группы mygroup.

Директории и удаление

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

Хорошая новость в том, что в Linux существует так называемый sticky бит. Когда для /tmp установлен sticky бит (командой chmod +t), единственные, кто могут удалить или переименовать файлы в /tmp — это либо владельцы этих файлов либо суперпользователь.

Неуловимый первый знак

В завершение этого раздела мы наконец обратим внимание на первый знак, используемый в численном синтаксисе. Он используется для задания битов sticky, suid и sgid:

Ниже приведен пример того, как использовать 4-значный режим для установки прав доступа на директорию, которая будет использоваться рабочей группой:

# chmod 1775 /home/groupfiles

В качестве домашней работы выясните что значит 1755 в настройках прав доступа. :)

Перевод выполнил коллективный разум с помощью notabenoid.com. Спасибо следующим benoid-юзерам (в алфавитном порядке): kindacute, nekjine, Rich. Отдельная благодарность Алексею Блажко (blazhkoa@gmail.com), а также инициатору всей серии переводов, VBart.

Об авторах

Daniel Robbins

Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.

Источник

Типы пользователей и Права доступа в Linux

Обновл. 15 Мар 2021 |

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

Типы пользователей в Linux

Каждый файл и каталог в Linux имеет три категории пользователей:

Владелец — пользователь, создавший файл/каталог.

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

Остальные/Другие (все остальные пользователи) — любой другой пользователь, имеющий доступ к файлу. Он не является владельцем файла, и не принадлежит к группе, которая могла бы владеть файлом.

Другими словами, Владелец — это один пользователь, Группа — это совокупность пользователей, а Остальные — совокупность из всех остальных пользователей системы.

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

Теперь представим такую ситуацию: пусть у нас есть два пользователя А и Б, требуется сделать так, чтобы пользователь А не мог повлиять на файл, содержащий жизненно важную информацию/данные пользователя Б. Возникает вопрос: «Как Linux различает данные категории пользователей?». Например, вы не хотите, чтобы ваш коллега, который работает на вашем компьютере с Linux, просматривал ваши изображения. Вот тут-то на сцену и выходят права доступа, определяющие поведение пользователей.

Права доступа/Разрешения

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

Чтение/Просмотр (Read) — дает право открывать и читать файл. Разрешение на чтение каталога дает возможность просматривать его содержимое.

Запись/Изменение (Write) — дает право изменять содержимое файла. Разрешение на запись в каталог дает право добавлять, удалять и переименовывать файлы, хранящиеся в каталоге. Рассмотрим сценарий, в котором у вас есть разрешение на запись в файл, но нет разрешения на запись в каталог, где хранится файл. Вы сможете изменить содержимое файла, но вы не сможете переименовать, переместить или удалить файл из каталога.

Выполнение (eXecute) — в Linux вы не сможете запустить программу, если не задано разрешение на выполнение, но вы все равно сможете видеть/изменять программный код (при условии, что установлены разрешения на чтение и запись), но не запускать его.

Пример на практике

Рассмотрим следующий пример:

Здесь владелец (diego) файла Адреса.txt (который я заранее создал в папке /home/diego/Документы ) имеет доступ к его «Просмотру и Изменению», в то время как другие члены его группы (её название совпадает с именем владельца — diego), а также все остальные пользователи, не входящие в эту группу, имеют доступ «Только просмотр». Поэтому они могут открыть файл, но не могут вносить в него изменения.

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

Выходные данные содержат следующую информацию:

Разрешения (права доступа) — в этом поле отображается набор разрешений для файла, о которых мы поговорим ниже.

Владелец — имя пользователя, который владеет файлом. Часто (но не всегда) совпадает с именем его создателя.

Группа — группа, имеющая доступ к файлу. Одновременно владеть файлом может только одна группа.

Размер — размер файла в байтах.

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

Имя файла.

r (read) — разрешение на чтение/просмотр файла;

w (write) — разрешение на запись/изменение файла;

x (execute) — разрешение на выполнение файла;

– — нет набора разрешений.

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

-rw-r—r— 1 diego diego 2 фев 17 21:15 /home/diego/Документы/Адреса.txt

Владелец diego имеет права на чтение и запись в файл.

Группа diego имеет права только на чтение.

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

Владельцем файла является пользователь root, который имеет права доступа на чтение, изменение и выполнение файла ( rwx ).

Все члены группы root имеют права на чтение и выполнение файла ( r-x ).

Остальные пользователи тоже имеют права на чтение и выполнение файла ( r-x ).

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

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

Представим, что вы не хотите, чтобы ваш коллега видел ваши личные изображения. Это может быть достигнуто путем изменения прав доступа к файлам с помощью команды chmod (сокр. от «change mod). Используя эту команду, мы можем установить права доступа (Чтение, Запись, Выполнение) к файлу/каталогу для Владельца, Группы и всех Остальных пользователей.

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

chmod [разрешения] [имя файла]

Существует два способа использования команды chmod : символьный и числовой.

Использование команды chmod в символьном режиме

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

o — остальные пользователи;

a — для всех трех категорий (Владелец + Группа + Остальные).

А также используются следующие математические символы:

= — переопределение существующих разрешений новым значением.

Теперь, когда вы знаете, как это работает, давайте попробуем использовать команду chmod в символьном режиме и установим новые разрешения для ранее упомянутого файла Адреса.txt следующим образом:

чтение, запись и выполнение для Владельца;

чтение и запись для членов Группы;

чтение для Остальных пользователей.

chmod u=rwx,g=rw,o=r /home/diego/Документы/Адреса.txt

В результате мы получаем:

$ chmod u=rwx,g=rw,o=r /home/diego/Документы/Адреса.txt
diego@debian:

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

chmod o-r /home/diego/Документы/Адреса.txt

$ chmod o-r /home/diego/Документы/Адреса.txt
diego@debian:

Подумав, мы решаем дать полные права (за исключением права на выполнение) абсолютно всем пользователям системы, и выполняем команду:

$ chmod a+rw-x /home/diego/Документы/Адреса.txt

$ chmod a+rw-x /home/diego/Документы/Адреса.txt
diego@debian:

Использование команды chmod в числовом режиме

Другой способ указать права доступа к файлу — применить команду chmod в числовом режиме. В этом режиме каждое разрешение файла представлено некоторым числом (в восьмеричной системе счисления):

r (чтение/просмотр) = 4

w (запись/изменение) = 2

x (выполнение) = 1

– (не задано) = 0

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

Число Тип разрешения Символ
0 Нет разрешения −−−
1 Выполнение −−x
2 Запись −w−
3 (2+1) Запись + Выполнение −wx
4 Чтение r−−
5 (4+1) Чтение + Выполнение r−x
6 (4+2) Чтение + Запись rw−
7 (4+2+1) Чтение + Запись + Выполнение rwx

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

В качестве примера, давайте посмотрим на наш файл Адреса.txt, права которого, я напомню, мы сконфигурировали (в символьном режиме) с помощью команды:

chmod u=rwx,g=rw,o=r /home/diego/Документы/Адреса.txt

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

chmod 764 /home/diego/Документы/Адреса.txt

$ chmod 640 /home/diego/Документы/Адреса.txt

$ chmod 640 /home/diego/Документы/Адреса.txt
diego@debian:

Смена владельца и группы

Чтобы изменить владельца файла, необходимо применить команду chown (сокр. от «change owner»), синтаксис которой довольно прост:

chown [имя_пользователя] [имя_файла]

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

chown [имя_пользователь]:[группа] [имя_файла]

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

chown :[группа] [имя_файла]

Или же используйте команду chgrp (сокр. от «change group«), специально применяемую для изменения владельца группы файла или каталога:

chgrp [группа] [имя_файла]

В качестве тренировки давайте сменим владельца и группу файла Адреса.txt на пользователя root и группу root (при этом вам могут понадобиться права суперпользователя):

$ sudo chown root:root /home/diego/Документы/Адреса.txt
[sudo] пароль для diego:
diego@debian:

Есть ли приоритет в правах доступа к файлам?

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

—-r—rw- 1 diego coolgroup 2 фев 17 21:15 /home/diego/Документы/Адреса.txt

Но как же так? Ведь пользователь diego является частью группы coolgroup, а группа имеет доступ на чтение. И даже все другие пользователи имеет разрешение на чтение и запись! Это должно означать, что каждый (включая пользователя diego) может читать и изменять файл, не так ли? Неправильно!

В Linux-системах приоритет считывания прав доступа отдается сначала Владельцу, затем Группе, а уже после Остальным. Система определяет, кто инициировал процесс ( cat или less в нашем примере). Если пользователь, инициировавший процесс, также является Владельцем файла, то считываются биты разрешений для Владельца.

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

Если же инициировавший процесс пользователь не является Владельцем файла и не входит в соответствующую Группу, то для него устанавливаются биты разрешений как для Остальных пользователей.

Подсказки

Файл /etc/group содержит все группы, определенные в системе.

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

Две группы не могут владеть одним и тем же файлом.

В Linux нет вложенных групп. Одна группа не может быть подгруппой другой.

x — выполнение каталога означает разрешение «войти» в каталог и получить возможный доступ к его подкаталогам.

Подводя итоги

Linux-системы являются многопользовательскими системами, в которых применяются права доступа к файлам и каталогам.

В Linux-системах различают три категории пользователей, а именно: Владелец, Группа и Остальные/Другие.

Команда chown может изменить владельца файла/каталога.

Команда chgrp может изменить группу, владеющую файлом.

Поделиться в социальных сетях:

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • назначение папок в linux
  • назначение папки winsxs windows 10
  • назначение папки windows в windows 7
  • назначение папки temp в windows 7
  • назначение панели задач и рабочего стола в windows

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии