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

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

Я попробовал chown -R kingcrab:kingcrab /media/drive/, но команда не работает. Owner of /media/drive remains as rabbit:rabbit.

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам