Если я монтирую файловую систему, которая была частью другой установки Ubuntu (давайте назовем systemB), как моя система (systemA) работает с разрешениями? В частности:
Разрешения предоставляются на основе идентификатора пользователя в / etc / password. Имена просто удобны. (Кстати, это также, как это делается в Windows).
Пример:
Локальная система «A» имела диск с такой настройкой:
Joe, uid 500 Jane, uid 501 Job, uid 502
Файлы, созданные Джо, получают идентификатор пользователя 500.
Теперь я перемещаю этот диск в систему «B». В системе B есть два пользователя:
Janette, uid 500 slartibartfast, uid 501 Mark, uid 599
Файлы, которые принадлежали пользователю 500 (Джо) в системе «A», теперь будут доступны для пользователя 500 по системе "B". Владелец будет указан как «Джанетт»
. Это основная причина, по которой люди сохраняют свои идентификаторы UID одинаковыми во всех системах, в которые они входят. Особенно когда NFS участвует.
(Будет завершено: владелец Fles от Jane теперь будет отображаться как принадлежащий slartibartfast, а файлы, принадлежащие Job, будут просто перечислены с идентификатором 502, поскольку нет подходящее имя.)
Если вам нравится аналогия, подумайте о uids как о номерах социального страхования. Ваше имя может измениться (например, когда вы вступаете в брак), но это число всегда будет одинаковым.
[Отредактировано немного, чтобы ответить на вопросы напрямую]
Если я смонтирую файловую систему, которая была частью другой установки Ubuntu (systemB, назовем это), как моя система (systemA) вырабатывает разрешения?
blockquote>Система вырабатывает разрешение, проверяя, есть ли у активного пользователя права на файл, или если активный пользователь находится в группе, которая имеет права на этот файл. Везде, где я писал активный пользователь, нужно понимать, что пользователь - это просто число. (Удостоверение личности). И это игнорирует дополнительные ограничения, установленные SE-Linux.
В частности: получает ли userA в моей системе доступ к файлам userA во внешней файловой системе из systemB только потому, что они имеют одинаковые имена?
blockquote>Нет. Только если у них одинаковые идентификаторы.
Должны ли пароли совпадать?
blockquote>Не проверяется пароль при доступе к файлу. Вы авторизуетесь один раз (при входе в систему). После этого у вас есть права на файлы, которыми вы владеете или которые принадлежат к тем же группам, что и вы.
Это подразумевает, что файловая система должна где-то хранить пользователя и пароль вместе, чтобы они могли путешествовать с файловой системой.
blockquote>Не проверяется пароль при доступе к файлам, поэтому это не имеет значения.
Что произойдет, если в systemB есть пользователь B, а в моей системе нет подходящего пользователя?
blockquote>Если нет пользователя с таким же идентификатором, тогда невозможно перевести UID к имени. Таким образом, необработанное числовое значение показывается.
Кто может получить доступ к его файлам из systemA? Может ли root?
blockquote>Каждый пользователь с тем же идентификатором или с идентификатором 0.