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

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

Допустим, я вошел в систему как пользователь 'rabbit'. Есть ли способ смонтировать внешний жесткий диск как пользователь 'kingcrab'?

Я попробовал chown -R kingcrab:kingcrab /media/drive/, но команда не срабатывает. Владелец /media/drive остается rabbit:rabbit.

решение1

Это зависит от типа монтируемой файловой системы.

Собственные файловые системы Unix/Linux, такие как ext4, хранят информацию о владельце на диске. На самом деле нет такого понятия, как монтирование файловой системы «как» пользователя; файлы принадлежат тому, за кого себя выдают данные на диске. Разные файлы могут принадлежать разным людям.

Файловые системы, отличные от Unix, такие как FAT, обычно не хранят информацию о владельце. (NTFS хранит, но не в той форме, которую может использовать Linux.) Поскольку Linux ожидает, что у всех файлов есть владельцы, драйвер файловой системы предоставляет синтетическую информацию о владельце, делая так, что все файлы кажутся принадлежащими одному пользователю, указанному во время монтирования. Вы не можете изменить этого владельца с помощью chown, потому что он фактически нигде не записан; это просто иллюзия, создаваемая драйвером.

Похоже, вы, вероятно, имеете дело с последним типом файловой системы. В этом случае вы можете указать другого синтетического владельца для файлов, добавив опцию uid=nк mountкоманде, гден— числовой идентификатор пользователя «kingcrab».

Связанный контент