локальный доступ к samba share raspberry и dotnet 5

#c# #raspberry-pi #.net-5

#c# #raspberry-pi #.net-5

Вопрос:

Я использую raspberry pi и настроил общий ресурс samba.

Я развертываю приложение .net 5 на pi.

Я хочу иметь возможность устанавливать общий файловый ресурс и использовать этот путь при развертывании и запуске на pi

Что работает, выполняя код на удаленном компьютере, подключаясь к удаленному общему ресурсу:

//RASPBERRYPI/PiShare

//192.168.0.101/PiShare

что не работает … развертывание кода на Raspberry pi и попытка :

//RASPBERRYPI/PiShare

//192.168.0.101/PiShare

pi может пинговать RASPBERRYPI, чтобы он мог разрешить собственное имя хоста, но я даже пробовал pi.

что мне нужно сделать, чтобы pi мог получить доступ к своему собственному ресурсу через код.

   [HttpPost]
        public async Task<IActionResult> _TestPathAccess(string filepath)
        {
            if (Directory.Exists(filepath))
            {
                return JsonResponse(true, "Path was success");
            }

            
            return JsonResponse(false, "Could not read path.");
        }
 
 [PiShare]
  comment=Raspberry Pi Share
  path=/home/pi/share
  browseable=Yes
  read only = no
  writeable=Yes
  only quest=no
  create mask=0777
  directory mask=0777
  public = yes
 

Комментарии:

1. На какой ОС работает Pi?

2. @stickybit ип запускает raspberry

3. Ты имеешь в виду Распбиан?

4. @stickybit kitguru.net/tech-news/christopher-nohall /.

5. О, я еще этого не знал. Затем Raspberry Pi OS. В любом случае, вполне вероятно, что вы не сможете получить доступ к общему ресурсу просто по пути UNC. Сначала вы должны смонтировать его и использовать локальный путь к каталогу, к которому вы подключили общий ресурс.

Ответ №1:

Расширение комментария, предоставленного @stickibit вы можете получить доступ к общему ресурсу из pi, выполнив следующие действия:

  1. на вашем pi должны быть установлены соответствующие пакеты: samba samba-common-bin smbclient cifs-utils
  2. вам необходимо создать каталог на pi, в котором вы будете монтировать нужный общий ресурс, например: sudo mkdir /mnt/HereItIs
  3. вам необходимо смонтировать этот общий ресурс: sudo mount.cifs //RASPBERRYPI/PiShare /mnt/HereItIs' возможно, некоторые параметры, необходимые для имени пользователя и пароля, см. man mount.cifs Подробнее

Теперь содержимое вышеупомянутого общего ресурса будет доступно в разделе /mnt/HereItIs .

НО: если RASBERRYPI, где присутствует общий ресурс, является тем же pi, откуда вы хотите получить к нему доступ, почему вы хотите получить к нему доступ через Samba? Почему не через прямой доступ к папкам? Если PiShare ваш локальный общий доступ к pi через samba физически является /home/pi папкой, просто используйте этот путь в своем коде (убедившись, что ваш пользователь-исполнитель кода может получить к нему доступ)!

Комментарии:

1. все, что вы говорите, правильно, но я хотел запустить тот же код со своего компьютера или pi и получить доступ к одному и тому же общему ресурсу, и мне не нужно менять его в зависимости от того, откуда он запущен.

2. Попробуйте использовать /RASPBERRYPI/PiShare вместо /mnt/HereItIs в моем ответе.