Как я могу размонтировать s3fs как обычный пользователь?
Я использую S3 за тонну. У меня есть около 40 ведер, плавающих между клиентами. Мне нравится тот факт, что я могу перечислить их в /etc/fstab и они просто работают. Для справки вот одно из ведер.
coteyrnet / mnt / S3 / coteyrnet fuse.s3fs _netdev, use_cache = / tmp, use_rrs = 1, allow_other, noauto, пользователи 0 0
Он монтируется нормально, но у меня есть чертовское время размонтировать его.
Первая проблема:
umount: /mnt/S3/coteyrnet mount disagrees with the fstab
Соответствующая часть mtab:
s3fs /mnt/S3/coteyrnet fuse.s3fs rw,noexec,nosuid,nodev,allow_other,user=coteyr 0 0
При запуске mount без аргументов он сообщает о монтировании как:
s3fs on /mnt/S3/coteyrnet type fuse.s3fs (rw,noexec,nosuid,nodev,allow_other,user=coteyr)
В дополнение к этому, если я sudo umount /mnt/S3/coteyrnet
Я всегда получаю
umount: /mnt/S3/coteyrnet: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
lsof | grep coteyrnet
никогда не возвращает ничего ценного, как и fuser.
Моя цель - заставить пользователя размонтировать работу.
Невозможность монтировать через sudo была устранена. При использовании настройки "use_cache" файлы были фактически открыты, но не под точкой монтирования. Это предостережение для этого варианта. Файлы точек монтирования закрыты, но файлы еще не были переданы в S3. Подождав некоторое время и попробовав снова, sudo может размонтироваться.
2 ответа
После работы с dpb мы определили, что проблема заключается в ошибке, а не в недостатке знаний или конфигурации (она не может быть исправлена нами)
Проблема 309 была подана с сопровождающими s3fs.
Я думаю, что / etc / fstab нужна опция user
, Прямо сейчас вы сказали, что имеете:
s3fs /mnt/S3/coteyrnet fuse.s3fs rw,noexec,nosuid,nodev,allow_other,user=coteyr 0 0
Попытка изменить это user=coteyr
чтобы просто user
, Это подходит для меня. Когда я пытался указать пользователя с =
по сути было проигнорировано.
Смотрите следующий вывод для примера:
dpb@helo:crash$ mount /mnt/foo
dpb@helo:crash$ umount /mnt/foo
dpb@helo:crash$ grep /mnt/foo /etc/fstab
/dev/vgdata/lvol0 /mnt/foo ext4 defaults,user 0 2
dpb@helo:crash$
Альтернативное решение
Если это не удается, или если вы хотите альтернативный подход. Вы можете настроить правило sudo, которое позволяет монтировать и размонтировать без пароля для определенных монтирований. Некоторые утверждают, что это более безопасный подход, но я не гуру безопасности.
Больше подробностей для fuse.s3fs
Для успешной успешной работы umount представляется не суперпользователем, он должен соответствовать тому, что показано командой mount.
В этом случае fstab должен выглядеть
s3fs /mnt/S3/coteyrnet fuse.s3fs <options> 0 0
Но, я думаю, вам все еще нужен способ указать свое уникальное ведро. Возможно, попробуйте:
s3fs#coteyrnet /mnt/S3/coteyrnet fuse.s3fs <options> 0 0
Этого может быть достаточно, чтобы обмануть маунта (я видел это раньше в нескольких местах, и теперь я начинаю понимать, почему)