Як я можу вручну змонтувати читання / запис файлової системи Linux як звичайний користувач?


19

Це може здатися дурним питанням, але в більшості речей Linux, мені здається, що багато дрібниць не є документально зафіксованими.

У будь-якому випадку, я хочу просто встановити файлову систему ext4 на нормальну точку монтажу в Ubuntu (/ media / whereverver), як читати для читання для поточного користувача, який увійшов, тобто для мене.

Я не хочу нічого додати в / etc / fstab, я просто хочу це зробити зараз, вручну. Мені потрібні привілеї суперкористувача для монтажу пристрою, але тоді тільки root може читати і записувати це монтування. Я спробував різні варіанти кріплення, додав його у fstab, але не пощастило.


Чи є причина, чому ви не хочете монтувати його десь у своєму домашньому каталозі?
Robert S Ciaccio

Відповіді:


13

У файловій системі ext4 (на зразок ext2, ext3 та більшості інших файлових систем, що походять від Unix) ефективні дозволи файлу не залежать від того, хто монтував файлову систему або від параметрів монтування, лише від метаданих, що зберігаються у файловій системі.

За допомогою Ubuntu монтування повинно відбуватися автоматично, коли ви вставляєте диск, або ви повинні мати можливість натиснути на піктограму для монтажу. Ви також можете встановити pmountдля монтажу файлових систем як звичайного користувача з командного рядка.

Якщо у вас є знімна файлова система, яка використовує різні ідентифікатори користувачів у вашій системі, ви можете використовувати bindfs(у однойменному пакеті Ubuntu), щоб забезпечити перегляд будь-якої файлової системи з різними правами власності або дозволами. Знімна файлова система повинна бути вже встановлена, наприклад, увімкнена /media/disk9; тоді, якщо ви хочете стати власником усіх файлів, можете запустити

mkdir ~/disk9
sudo bindfs -u $(id -u) -g $(id -g) /media/disk9 ~/disk9

Спасибі! Це працювало для мене з ext3. Зауважте, що мені довелося спочатку змонтувати файлову систему ext3 в деякий каталог кріплення, а потім змонтувати цей каталог із bindfs у остаточному каталозі.
Іларі Каясте

8

Коли ви монтуєте файлову систему ext4, вона використовує дозволи, вбудовані в цю файлову систему. Якщо ви хочете їх замінити, скористайтеся наступним:
1. Знайдіть UID користувача, якого ви хочете встановити як: id <username>і знайдіть UID = <userid> (<ім'я користувача>) GID = <grouppid> (<ім'я групи>) 2 .sudo mount -o nosuid,uid=<userid>,gid=<groupid> /dev/whatever /media/wherever

Це дозволить встановити файлову систему та позначити вказаного користувача як власника всіх файлів, а зазначену групу як групу для всіх файлів. nosuid- це захід безпеки, який заважає користувачеві вводити програми suid та використовувати їх для отримання кореневого доступу до системи (тобто, suid версія bash у файловій системі). Додавання noexecпараметра забезпечить додаткову безпеку, але не дозволить користувачеві виконувати файли у файловій системі.

Примітка. Якщо ви просто намагаєтесь самостійно взаємодіяти з файловою системою, вам слід або виправити дозволи на пристрої, або взаємодіяти з ним як root, якщо це лише тимчасова річ (тобто відновлення зламаної установки).

Якщо це призначено для встановлення USB або іншого знімного зовнішнього накопичувача, слід перевірити pmountсистему, яка може автоматизувати процес для вас, або принаймні значно полегшити його (тобто pmount <device>створити папки для вас, змонтувати його як свого користувача, і дозволяти вам відключити його як свого користувача)


1
Будь-яка ідея, чи має це працювати і з EXT3? Я потрапляю EXT3-fs: Unrecognized mount option "uid=1000" or missing valueв dmesg, коли я пробую його з ext3.
Іларі Каясте

@Ilari: Він не працюватиме ні з ext3, ні з ext4 з цього приводу. Більшість драйверів Linux для файлових систем Unix не мають параметрів відображення UID та GID.
Жил "ТАК - перестань бути злим"

-1 Не працює.
Іларі Каясте


1

Якщо ви не в змозі редагувати файл / etc / fstab, я б запропонував спробувати PySDM визначити правила регулярного монтажу файлової системи ext4. Її можна встановити, встановивши пакет "pysdm" у Synaptic або за допомогою пошуку в програмному центрі Ubuntu для "pysdm". Після встановлення він доступний у розділі Система -> Адміністрація -> Менеджер пристроїв зберігання ..

PySDM в дії


1

Щойно зрозумів, прочитавши останній коментар на http://ubuntuforums.org/showthread.php?t=2142284, що все, що потрібно зробити, - цеsudo chown -Rvf <user>:<group> <mountpoint>

Це все, що потрібно ...


2
Це руйнівна операція. Якщо ви зробите це перед монтажем, це не матиме ніякої різниці в тому, щоб мати право власності на файл на змонтованому диску; якщо ви зробите це після монтажу, він замінить усі дозволи. Якщо накопичувач містить установку Linux, зміна дозволів на зразок цього зробить його незавантаженим після того, як ви його відключите.
Варбо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.