Предположим, у меня есть каталог с правами доступа по умолчанию.
drwxr-xr-x 4 root root 4096 Dec 11 23:47 webtorrent-desktop/
Я изменю только владельца.
$ sudo chown -R sandy webtorrent-desktop
drwxr-xr-x 4 sandy root 4096 Dec 11 23:47 webtorrent-desktop/
Теперь я тоже сменю группу.
$ sudo chown -R sandy: webtorrent-desktop <br>
drwxr-xr-x 4 sandy sandy 4096 Dec 11 23:47 webtorrent-desktop/
Итак, мой вопрос заключается в следующем: в чем разница между этими двумя вариантами:
1) Я являюсь владельцем файла или каталога, но его группа — root.
2) Я являюсь владельцем файла или каталога, и эта группа также моя.
И нужны ли мне права root для некоторых операций в первом случае?
решение1
Разница в том, кто имеет доступ к файлу.
Как вам известно, существует три уникальных бита разрешения:пользователь( u
),группа( g
), идругие( o
). Каждый из них может обрабатываться по-разному в зависимости от установленных битов.
Например, если файлу установлены разрешения 770 ( rwxrwx---
), это означает, что и владелец, и группа владельцев могут читать, писать и выполнять файл. Если мы отключим бит записи для группы (что приведет к rwxr-x---
), это означает, что группа владельцев может читать и выполнять файл, нонетотредактируйте его.
Итак, почему это важно? Допустим, вы находитесь на сервере с кучей других людей, создающих веб-сайт. Все эти пользователи находятся в группе, которую мы назовем developers
. Нам нужно, чтобы все developer
s могли писать в файл, поэтому мы даем группе разрешения на чтение и запись. Таким образом, каждый developer
может получить доступ к нужным ему файлам.
Теперь предположим, что в нашей вымышленной рабочей среде есть папка, которую developer
s должен видеть, но не изменять. В этой папке мы удаляем разрешение на запись у группы. Это позволяет разработчикам видеть ее (и, при желании, запускать), но не изменять.
Однако, как пользователь root, все по-другому. Root уже может делать все, что захочет, так что это не имеет значения. Однако важно отметить, что когда root:root
владеет файлом и права на запись отключены для других пользователей,никто другойможет редактировать этот файл. Это очень часто используется для системных конфигураций, которые могут трогать только администраторы.
Теперь, что это означает для ваших двух вопросов:
- Когда вы являетесь владельцем и
root
группой владельцев, вы полностью контролируете файл и можете устанавливать (бесполезные) разрешения для root. Аналогично, члены группыroot
(обычно простоroot
) могут использовать файл в соответствии с установленными разрешениями. - Когда вы являетесь и владельцем, и группой - вы контролируете файл еще более полно. Только ваш пользовательи ваша личная группаявляются «владельцами», а все остальные проходят через набор разрешений «другие».
Функционально набольшинствоСовременные системы, однако,нет никакой разницы между режимами 1 и 2.