Я просто перенес диск с одного компьютера на другой и понял, что файлы больше не доступны из-за несоответствия UID. У моего пользователя был UID 1000 на одном компьютере и диске, в то время как у моего пользователя был UID 1001 на другом компьютере.

Есть ли способ хранения разрешений в файловой системе, чтобы не полагаться на сопоставление идентификаторов UID на всех компьютерах? Хранят ли ACL и xattrs UID или имена пользователей?

1 ответ1

1

Краткий ответ: Нет. Ваш вопрос не говорит о том, какая файловая система находится на диске, который вы перемещаете, но тот факт, что она содержит UID в системе Linux, предполагает, что это какой-то вариант EXT, а UID, GID и т.д. Хранятся в структуре INODE как целые числа. - см. https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table.

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

Если у вас небольшое количество компьютеров, лучше всего создать всех ваших пользователей и группы с одинаковыми идентификаторами. Прочитайте документацию useradd/adduser и groupadd/addgroup для вашего конкретного дистрибутива, чтобы узнать, как указать номер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .