Как запоминается владелец файла и группа для внешнего диска?


14

Я отформатировал внешний жесткий диск с разделом ext4 и впоследствии смонтировал его. Чтобы я мог использовать новый раздел, я сделал это: sudo chown me:me /mount/directoryизменил владельца файла и группы с root на меня, что работало нормально.

Это изменение является постоянным, поэтому мне интересно, где эта информация хранится. Если я отсоединяю жесткий диск, а затем монтирую его в другой каталог, я по-прежнему устанавливаюсь как владелец файла и группа, поэтому информация не может быть сохранена в inode каталога монтирования.

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

Ответы:


19

Нет никакой разницы между внешним диском и внутренним диском с точки зрения сохраненной на нем файловой системы. Владелец и группа корневого каталога файловой системы хранятся в его корневом каталоге так же, как хранятся владелец и группа вашей корневой файловой системы.

Следствием этого является то, что, поскольку UID и GID хранятся только в цифровом виде, если вы подключите внешний диск в системе с разными пользователями /etc/passwd, вы увидите, что владелец и группа изменились на то, что UID и GID отображаются на другая система. (Например, если в вашей системе пользователь meUID 1000, и вы монтируете диск в системе, где UID 1000 rms, вы увидите каталог, принадлежащий rms.)

С другой стороны, если вы используете файловую систему, которая не хранит информацию UID / GID (например, FAT), тогда UID / GID каждого файла в файловой системе берется из параметров, которые вы дали mountкоманде (напрямую или через /etc/fstab).

Второе следствие заключается в том, что не имеет значения, какой владелец или разрешения /mount/directoryбыли у вашей корневой файловой системы. Как только там смонтирована файловая система, права доступа к этой файловой системе имеют значение. Вот почему я люблю, chmod a-rwx /mount/directoryпрежде чем монтировать файловую систему. Это предотвращает случайную запись, /mount/directoryкогда файловая система там не смонтирована.


1
Когда-то в Solaris 1.x была ошибка, из-за которой прослеживалось владение точкой монтирования. Симптомом было то, что пользователи получали ошибки прав доступа при попытке доступа к файловой системе, но вы не могли видеть никаких неправильных разрешений, потому что lsпоказывали разрешения в смонтированной файловой системе.
Бармар

+1 за технику chmod, о которой я не задумывался - в дополнение к правильности в противном случае.
Джо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.