efenstor.net

Делюсь опытом о пустоте

Samba в GNOME: доступ к файлам в локальной сети

admin Linux 3 минуты

В Linux доступ к файлам по сети обычно осуществляется через службу Samba - она совместима с Windows, что очень удобно.

В качестве альтернативы для редкой переброски отдельных файлов и каталогов можно использовать LocalSend: он совместим с Android / iOS / MacOS / Windows, что также очень удобно.

Далее рассмотрим кратчайший возможный путь настройки Samba на примере Debian 13 (Trixie) со средой рабочего стола GNOME, чтобы при его использовании не возникало проблем с именами пользователей и разрешениями, но в то же время не было "всем всё можно".

В следующих инструкциях везде заменяйте USER и GROUP на ваше имя пользователя и вашу группу (обычно совпадает с именем пользователя). Также обратите внимание, что в файле /etc/samba/smb.conf всё разделено на разделы, каждый из которых начинается с его имени в квадратных скобках.

С правами root:

  1. Установить пакеты: samba nautilus-share gvfs-fuse
  2. В файле /etc/samba/smb.conf в раздел [global] (он находится в самом начале файла) добавьте:
    force user = USER
    force group = GROUP
  3. Там же удалите целиком весь раздел [homes] (он находится ближе к концу файла).
  4. Добавьте себя в группу sambashareusermod -G sambashare USER
  5. Создайте системного пользователя с именем samba: useradd -rM -s /usr/sbin/nologin samba
  6. Добавьте пользователя samba в базу данных Samba: smbpasswd -a samba (укажите пароль, который будет использоваться для доступа по сети к вашему компьютеру)
  7. Перезапустите Samba: systemctl restart smbd
  8. Перелогиньтесь

Если вам нужно, чтобы ваш компьютер был доступен из Windows 10+:

  1. Дополнительно установите пакет wsdd2
  2. В файле /etc/samba/smb.conf в раздел [global] добавьте:
    ntlm auth = yes
    server min protocol = SMB2
    client min protocol = SMB2
  3. Перезапустите Samba: systemctl restart smbd

Всё. Теперь можно разделять доступ прямо из Файлов (нажимайте правой кнопкой на каталоге). Для доступа с других компьютеров нужно будет указывать имя пользователя samba, но локально все файлы будут принадлежать вашему пользователю, как если бы были созданы вами (т.е. в стиле Windows).

В приложениях созданных под GTK сетевые пути можно открывать напрямую, а для Qt нужно сначала открыть нужный сетевой путь в Файлах, чтобы он примонтировался, а затем уже в приложении зайти в каталог /run/user/1000/gvfs1000 - это ваш UID (идентификатор пользователя), он может быть другим (1001, 1002 и т.д.), если исторически ваш пользователь в этой системе уже не первый.

Не забывайте про возможность создания закладок, ведущих на /run/user/1000/gvfs или на часто используемый сетевой путь.

Чтобы сетевые точки монтирования, созданные Файлами были доступны из приложений flatpak, с нужно добавить в глобальные разрешения для файловой системы строку xdg-run/gvfs с помощью Flatseal или в терминале: flatpak --user override --filesystem=xdg-run/gvfs


GNOMEсетьSambaнастройкаDebianWindows