Чи можу я позначити папку лише монтажною точкою?


3

У мене є папка, ~/nasяку я зазвичай використовую sshfsдля монтажу мережевого диска. Сьогодні я не розумів, що частка ще не була змонтована, і скопіювала в неї деякі дані. Мені знадобилося трохи зрозуміти, що я просто скопіював дані на власний локальний диск, а не в мережу. Чи є якийсь спосіб відзначити в системі, що ця папка повинна бути точкою монтажу, і не дозволяти нікому копіювати в неї дані?

Я спробував тут рішення дозволів: Як дозволити програмі записувати в каталог, якщо він встановлений? , але якщо у мене немає доступу до запису, я також нічого не можу встановити.

Відповіді:


4

Поки ви не root, ви просто можете відкликати дозвіл на запис для каталогу ~ / nas для себе і використовувати sudo для підвищеного монтажу:

$ chmod u-w ~/nas
$ cd ~/nas
$ touch test
touch: cannot touch `test': Permission denied
$ cd ..
$ sudo mount -t fuse -o <options> sshfs#<user>@<host>:/mount/path/ ~/nas
$ cd ~/nas
$ touch test
$

Ідея, що стоїть на тому, що: ~ / nas як шлях до монтажу мав би дозволеності, призначені йому, поки призначення не встановлено, тим самим запобігаючи модифікація вами (до тих пір, поки у вашого користувача немає root права). Команда mount (для запуску потрібні кореневі привілеї) тимчасово змінює дозволи папки на те, на що встановлено дозволи призначення, дозволяючи користувачеві отримати доступ для запису.


2
sshfsце файлова система FUSE , з якою не працює mount. Частина цієї мети полягає в тому, що я не повинен мати корінь для монтажу носа (оскільки я все-таки використовую свої ssh-дані для монтажу)
Collin

У IIRC є проблеми без монтажу SSHFS як root.
zebediah49

У мене ніколи не було проблем із монтуванням SSHFS, і я ніколи не робив це як root.
Роб

@collin, тож навіть використання sudo- це не варіант?
syneticon-dj

@rob проблема не в самому монтажі, а в вимозі видалити дозвіл користувача на запис для точки монтажу. Як вже з’ясувала ОП, це не допоможе fusermount. Але це спрацювало бmount.fuse
syneticon-dj

5

Ми використовували незмінний -flag для захисту каталогу навіть для кореневого доступу.

chattr +i /vmdata/backup

Таким чином, навіть root не може писати там, коли нічого не встановлено. Після монтажу диска все працює як очікувалося.


1

Ви можете скористатися запропонованою пізнішою відповіддю там:

1-й: Перевірте команду mount, якщо каталог встановлений

mount | grep <mountpoint>підкаже, чи є там щось встановлене Якщо ви дійсно хочете переконатися, що потрібна річ встановлена ​​там, ви можете використовувати більш складний регулярний вираз, але я не думаю, що цього потрібно.


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