Как пользователь получает доступную папку sshfs?

Я пытаюсь сделать сетевую резервную копию диска. В этом процессе есть две машины.

PC1:

  • Как установить Timeout для команды ssh, а также вернуть результат удаленных команд
  • Нужно ли мне повторно генерировать открытые ключи SSH RSA или повторно импортировать их снова в случае изменения / истечения срока действия пароля LDAP?
  • Как просмотреть вывод запущенной программы поверх ssh
  • Ошибка «Невозможно назначить запрошенный адрес» при передаче на удаленный сервер
  • SCP работает, но SSH не работает (по Wi-Fi)
  • Сделать все файлы в директории только для чтения без изменения разрешений?
    • Дистанционная машина с двумя жесткими дисками sda и sdb
    • sdb – это диск, который нуждается в резервном копировании
    • существует два пользователя, root и пользователь

    PC2:

    • машина Я нахожусь
    • работающий как пользователь Alan, может при необходимости root

    Я делаю следующее на PC2:

    sshfs root@PC1:/dev ~/Desktop/netdisk/ 

    Крепится хорошо. У меня есть sdb, доступный в ~ / Destkop / netdisk /. Следующий шаг:

     sudo dd if=~/Destkop/netdisk/sdb | gzip -c > ~/Destkop/ddbackup/image.gz 

    Выдает ошибку:

     dd: opening `netdisk/sdb': Permission denied 

    Когда я проверяю разрешения sdb:

     brw-rw---- 1 root disk 0, 0 Jan 3 10:47 sdb 

    Поскольку i ssh-ed для PC1, поскольку root @ PC1 не означает, что у меня есть root-доступ к файлам, установленным как sshfs?

    Из этого примера кажется, что нет, есть ли здесь концепция, которой я не хватает?

  • работа с именами файлов в другой кодировке по ssh
  • Настройка vncserver, так что он доступен только из моего туннеля ssh
  • Может ли udev инициировать действие только на монте?
  • Перемещение по серверу между общими ресурсами NFS
  • Устанавливать некоторые порты брандмауэра только для подключения к локальной сети?
  • Не удается установить ImageMagick на Centos с помощью Yum
  • 3 Solutions collect form web for “Как пользователь получает доступную папку sshfs?”

    Удаленные файлы доступны как удаленный пользователь, который вы вошли в систему, например root. На самом деле нет другого пути.

    Ошибка, которую вы получаете, связана с разрешениями на локальную сторону. Это странность в FUSE, на которой основана SSHFS. По умолчанию только пользователь, выполнивший монтаж, может получить доступ к файловой системе FUSE. Даже root не может получить к нему доступ. Предотвращение доступа пользователя root не является ограничением безопасности, так как root может su (1) / setuid (2) до пользователя, который подключил файловую систему, это ограничение внутренней архитектуры FUSE. Поскольку вы сделали монтаж как пользователь без полномочий root, также обращайтесь к файловой системе как к пользователю, не являющемуся пользователем root. Запуск dd под sudo в любом случае не покупает вас здесь, поэтому просто запустите

     dd if=~/Destkop/netdisk/sdb | gzip -c > ~/Destkop/ddbackup/image.gz 

    который ( бесполезное использование dd ) упрощает до

     dd if=~/Destkop/netdisk/sdb | gzip -c > ~/Destkop/ddbackup/image.gz 

    которое бесполезное использование кошки упрощается до

     gzip <~/Destkop/netdisk/sdb >~/Destkop/ddbackup/image.gz 

    Если sdb является блочным устройством, а не обычным файлом на удаленной стороне, он не может работать через удаленную файловую систему (если запись устройства была записью устройства, это было бы локальным устройством, что нежелательно). Используйте ssh для доступа к нему:

     ssh root@PC1 cat /dev/sdb | gzip >~/Destkop/ddbackup/image.gz 

    В любом случае вы бы сэкономили пропускную способность, выполнив сжатие на удаленной стороне:

     ssh root@PC1 'gzip </dev/sdb' >~/Destkop/ddbackup/image.gz 

    sshfs не может обрабатывать блокирующие устройства. Он будет рассматривать все как файл. Вам нужно будет проявить творческий подход с перенаправлением ssh , dd и командной строки:

    PC2 -> PC1:

     dd of=/home/Alan/Desktop/image.iso < ssh root@PC1 "dd if=/dev/sdb" 

    или от PC1 -> PC2:

     dd if=/dev/sdb | ssh root@PC2"dd of=/home/Alan/Desktop/image.iso" 

    Вы можете использовать параметр mount allow_other чтобы разрешить вам доступ к этому устройству в качестве любого пользователя.

     sshfs -o allow_other root@PC1:/dev ~/Desktop/netdisk/ 

    Убедитесь, что вы также установили user_allow_other в /etc/fuse.conf .

    Дополнительную информацию см. В этом ответе на serverfault.com.

    Linux и Unix - лучшая ОС в мире.