Как влияет владение файлами в разных системах?

10

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

Из этого предположения возникает несколько вопросов, которые приходят на ум. Что происходит с атрибутами группы и пользователя при передаче мультимедиа между компьютерами, будь то через флешку, CDROM или сетевой ресурс. Кому принадлежит файл в новой системе?

Можете ли вы ограничить данные только для работы в вашей системе? (Здесь речь не идет о шифровании, только основы.)

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

Стефан
источник
проблема грамматики в первом предложении
чепанг
@thsepang .. хороший улов, исправлено
Стефан

Ответы:

6

На всех собственных файловых системах Unix владение файлами хранится в форме идентификаторов пользователей и групп. Это также относится к базовой работе NFS (хотя есть и другие возможности, по крайней мере, в NFSv4) и к традиционным форматам архивов Unix, таким как tar.

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

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

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

Жиль "ТАК - перестань быть злым"
источник
3

Каждый файл и каталог в большинстве файловых систем Unix имеют связанную числовую группу и идентификатор пользователя. Затем происходит сопоставление (/ etc / passwd для пользователей и / etc / group для групп) идентификаторов с именами. Когда вы переносите файл в другую систему, числовые идентификаторы остаются прежними. В новой системе может не быть имени с таким идентификатором. Так что если вы сделаете a ls -l, вы увидите номера вместо имен пользователей.

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

KeithB
источник