Вопрос или проблема
Я пытаюсь поделиться папкой между Ubuntu 22.04 и Windows 11. Папка, которой я пытаюсь поделиться, – это общая папка в моем домашнем каталоге.
В Ubuntu я вижу, что значок общего доступа (зеленый значок) есть на папке, так что я полагаю, что она доступна для общего доступа.
В Windows, когда я использую \\192.168.0.139 (что является моим IP-адресом Linux), папка Public появляется, но когда я пытаюсь к ней получить доступ, я получаю ошибку о том, что у меня нет разрешения на доступ к папке.
Я использовал свое имя пользователя и пароль Linux, но без успеха.
Как я могу предоставить доступ к моей папке Ubuntu, чтобы я мог получить к ней доступ из Windows и читать/писать в нее, создавать папки и удалять файлы?
Правка 1
Когда я смотрю на /etc/samba/smb.conf
, я не могу найти никаких записей о совместном использовании папки Public!
Этот ответ сработал для меня, но имейте в виду, что это не на уровне пользовательских учетных записей, а скорее общая папка для гостей, позволяющая всем в моей сети подключаться к моей папке.
В вашем файле /etc/samba/smb.conf
в разделе [global]
вам, вероятно, понадобятся строки, подобные ниже:
[global]
passwd chat = *Введите\sновый\s*\парод: *%n\n *Повторите\sновый\s*\парод: *%n\n *пароль\sуспешно\обновлен* .
netbios name = intrepid
passwd program = /usr/bin/passwd %u
panic action = /usr/share/samba/panic-action %d
follow symlinks = yes
wins support = true
unix extensions = no
client ntlmv2 auth = yes
server role = standalone server
os level = 20
workgroup = home
usershare owner only = false
server string = %h server (Samba, Ubuntu)
guest ok = yes
max log size = 1000
ntlm auth = no
log file = /var/log/samba/log.%m
preferred master = yes
printing = CUPS
map to guest = bad user
use sendfile = no
usershare allow guests = yes
acl allow execute always = true
pam password change = yes
unix password sync = yes
passdb backend = tdbsam
obey pam restrictions = yes
dns proxy = no
large readwrite = no
local master = yes
wide links = yes
access based share enum = yes
Затем, при определении вашей общей папки, вам потребуется что-то подобное ниже:
[BACKUP]
path = "/home/terrance/Share"
directory mask = 0775
create mask = 0775
browseable = yes
writeable = yes
guest ok = yes
admin users = terrance
После того как все будет настроено, перезапустите сервер Samba.
sudo systemctl restart smbd.service
Когда я смотрю на /etc/samba/smb.conf, я не могу найти никаких записей о совместном использовании папки Public!
Потому что вы создали общий доступ в Files – вашем файловом менеджере. Эти общие доступы где-то перечислены.
Пожалуйста, проверьте, что вы создали то, что samba называет “usershare” вашей папки Public с помощью этой команды:
net usershare info --long
Если вы создали этот общий доступ, позволяющий доступ для гостей, это не сработает не из-за samba, а потому что Ubuntu по умолчанию делает домашний каталог пользователя доступным только для этого пользователя.
Несколько обходных путей:
Сделайте так, чтобы пользователь-гость выглядел как вы для samba, отредактировав /etc/samba/smb.conf и прямо под строкой workgroup = WORKGROUP
добавьте эту строку, заменив mans на ваше имя пользователя Ubuntu:
force user = mans
Затем перезапустите samba:
sudo service smbd restart
Или вы можете получить доступ к общему ресурсу из Windows под своим именем пользователя Ubuntu, но вы должны сказать samba, кто это. Вы делаете это с помощью следующей команды:
sudo smbpasswd -a mans
Ответ или решение
Обмен папками между Ubuntu 22.04 и Windows 11 может представлять собой определённые сложности, особенно когда речь идёт о настройках Samba, используемой для файлового обмена в среде Linux. Рассмотрим основные шаги, которые необходимо предпринять, чтобы настроить успешный обмен данными между этими операционными системами:
F – Feature (Функция)
Для начала, мы будем использовать Samba для обмена папками между Ubuntu и Windows. Это мощное средство позволяет делать ваши папки доступными для пользователей Windows в сети.
O – Options (Варианты)
Вы уже увидели, что ваша папка Public на Ubuntu доступна через IP-адрес, однако вы сталкиваетесь с проблемами доступа. На это может влиять несколько факторов:
-
Проблемы с разрешениями: По умолчанию, папки Home в Linux защищены от доступа других пользователей. Это может вызвать проблемы с доступом для гостевых пользователей (например, пользователей Windows).
-
Конфигурация Samba: Настройка Samba неправильно может ограничивать доступ.
R – Resolution (Решение)
Для разрешения вашей проблемы выполните следующие шаги:
-
Проверка конфигурации Samba:
Откройте файл конфигурации Samba:sudo nano /etc/samba/smb.conf
В разделе
[global]
убедитесь, что включены необходимые параметры, например:workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) guest ok = yes map to guest = bad user
Обратите внимание:
guest ok = yes
позволяет гостевым пользователям подключаться. -
Добавление папки для шарива:
В том же файле добавьте новый раздел для вашей папки Public:[Public] path = /home/ваше_имя_пользователя/Public browseable = yes writable = yes guest ok = yes create mask = 0775 directory mask = 0775
-
Перезапуск службы Samba:
После сохранения изменений необходимо перезапустить сервис:sudo systemctl restart smbd.service
-
Добавление пользователя в Samba:
Если вы хотите управлять доступом через учётные записи пользователей, добавьте своего пользователя в Samba:sudo smbpasswd -a ваше_имя_пользователя
E – Example (Пример)
После того как всё настроено, вы сможете получить доступ к вашей папке с Windows 11. В строке адреса проводника Windows введите:
\\192.168.0.139\Public
Если всё настроено правильно, вы должны увидеть и иметь возможность управлять файлами в папке Public.
S – Summary (Резюме)
Важными моментами для успешного обмена файлами между Ubuntu и Windows являются правильные настройки Samba и управление разрешениями в Linux. Убедитесь, что ваша папка Public доступна для клиентов по сети, и не забывайте перезапускать сервис Samba после изменений. Если проблемы продолжаются, проверьте состояния служб Samba и конфигурации сети. Таким образом, вы сможете настроить удобный и безопасный доступ к вашим данным из любой платформы.