Я постараюсь сделать это проще.
Вот что работает: Монтирование root @ где угодно: / с помощью sshfs, пока я root.
Но если я рут и попробую sshfs test@somewhere:/ /home/me/test -o idmap=user
или
sshfs test@somewhere:/ /home/me/test -o idmap=allow_other
Я не получаю сообщения об ошибке, но если я попытаюсь посмотреть смонтированный "тестовый" каталог, то получу:
ls: reading directory test: Permission denied
Также я могу ssh в test @ где-нибудь, пока я root, без проблем. Я пробовал добавить user_allow_other в /etc/fuse.conf, но я не думаю, что это имеет значение, потому что я root.
Что странно, он просто работал минуту назад, если я где-то проводил тестовый монтаж @ без полномочий root, но он просто перестал работать после того, как я открыл новый терминал.
Чтобы быть ясным, я хотел бы смонтировать кого-нибудь @ где: / когда я root. Я не думаю, что это проблема пароля или "ключа", поскольку я получаю тот же результат с разными удаленными серверами.
Я просто дал удаленной "тестовой" директории один файл. Я использую "тест" на сервере, который, как я знаю, работает, пока не выясню, что я делаю не так.
Мои локальные машины - это Debian Squeeze. Я уверен, что решение простое, но большинство вопросов в Google пытаются сделать наоборот (работает с правами root, но не с правами root), поэтому я подумал, что это стоит спросить.
Проблема заключалась в косой черте:
sshfs test@somewhere:/ /home/me/test
Должно было:
sshfs test@somewhere: /home/me/test
Другими словами, пользователь «test» не имел доступа к корневому каталогу. Ой. Я подумал, что ": /" просто перенесет меня в корневой каталог пользователя "test", но, видимо, нет.
У меня возникла идея, выполнив следующие шаги: http://www.howtoforge.com/mounting-remote-directories-with-sshfs-on-debian-squeeze
Пытаться mkdir /home/me/test/lalal
просто чтобы убедиться, что у вас есть доступ к этому каталогу.