Вопрос или проблема
Этот пост уже шесть дней без ответа. Очевидно, что такая совместная работа возможна, и я понимаю, что пропускаю что-то очевидное, но что?
Настраиваю ли я общую папку только в Samba и не использую графический интерфейс Nautilus? Я пробовал оба способа безрезультатно.
Я легко могу создать общую папку в своем домашнем каталоге, используя графический интерфейс Nautilus. Могу читать и записывать с Windows.
Разрешения на общей папке были установлены как 775, так и 777 без успеха.
Я проверил, и пользователи samba соответствуют пользователям Ubuntu – пользователи были перенесены в samba.
Я хочу настроить защищенную паролем папку, но на данный момент я просто пытаюсь заставить общую папку работать.
Я потратил часы на это, что сделало меня более знакомым с Ubuntu, но не приблизило к решению этой проблемы.
Я пытаюсь поделиться папкой вне домашнего каталога.
Сервер работает на Ubuntu 16, клиент = Win7
Я легко могу делиться папками в своем домашнем каталоге.
Я добавлял и удалял Samba, а затем снова добавлял его через экран Nautilus
Владелец папки – это я, группа – sambashare
. Разрешения – drwxrwxr-x
Папка должна быть общей для всех в соответствии с настройками локальной сети. Я создал пользователей Samba и пароли без успеха. Папка была создана как root на втором жестком диске (названном M1), а затем была воссоздана папка под названием Data. Папка Data была поделена, как указано выше.
Windows машина сейчас говорит “нет разрешения” для доступа к папке.
Обмен папками Расположенными Вне домашней папки
Чтобы поделиться папкой внутри папки “home”, вам просто нужно использовать опцию меню общего доступа в файловом менеджере системы, но если папка находится вне папки “home” (и, возможно, на другом разделе), вам нужно настроить общий доступ с помощью скрипта.
Пример. Если вы хотите создать общий доступ со следующими свойствами:
ShareNAME: "myShareName"
PathNAME: "/media/myUserName/myPartitionName/mySharedFolder"
User: "myUserName"
Для общего доступа с включенным Гостевым доступом (пароль не требуется):
-
1.- Откройте smb.conf:
~$ sudo gedit /etc/samba/smb.conf
-
2.- Добавьте в конце (и сохраните) следующее:
[myShareName] path = /media/myUserName/myPartitionName/mySharedFolder read only = no force user = myUserName guest ok = yes
-
3.- Перезапустите smb демон:
~$ sudo service smbd restart
-
4.- Проверьте myShareName в smb.conf на внутреннюю корректность:
~$ testparm --section-name "myShareName" -s
Ссылки:
Ответ или решение
Чтобы поделиться папкой, которая находится за пределами вашей домашней директории в Samba на Ubuntu, выполните следующие шаги. Вы можете использовать smb.conf
для настройки общего доступа к этой папке. Это более надежный метод, чем использование графического интерфейса Nautilus для папок, находящихся вне домашней директории.
Шаги для настроек Samba
-
Откройте файл конфигурации Samba:
Выполните команду в терминале, чтобы открыть файл
/etc/samba/smb.conf
с правами суперпользователя:sudo gedit /etc/samba/smb.conf
-
Добавьте новую секцию для вашего общего доступа:
В конце файла добавьте следующую конфигурацию для вашей папки:
[myShareName] path = /media/myUserName/myPartitionName/mySharedFolder read only = no force user = myUserName guest ok = yes
Замените
myShareName
на ваше имя общего доступа,myUserName
на ваше имя пользователя иmyPartitionName/mySharedFolder
на путь к папке, которую вы хотите поделиться. -
Настройка разрешений:
Убедитесь, что у папки правильные разрешения. Вы можете установить разрешения следующей командой:
sudo chmod 775 /media/myUserName/myPartitionName/mySharedFolder sudo chown myUserName:sambashare /media/myUserName/myPartitionName/mySharedFolder
Здесь
myUserName
– это ваше имя пользователя, аsambashare
– это группа, к которой вы хотите предоставить доступ. -
Перезапустите службу Samba:
После внесения изменений в конфигурацию проверьте и перезапустите службу Samba:
sudo service smbd restart
-
Проверьте конфигурацию:
После того, как вы перезапустите службу, проверьте правильность добавленной секции:
testparm --section-name "myShareName" -s
Это подтвердит, что конфигурация корректна.
Примечания
- Для доступа к общей папке с Windows убедитесь, что соответствующие порты (например, 445 и 139) открыты в брандмауэре.
- На стороне Windows введите
\\IP-адрес-сервера\myShareName
в строке адреса проводника, чтобы получить доступ к общей папке. - Если все равно возникает ошибка доступа "no permission", попробуйте сначала проверить права доступа к папке и убедитесь, что Samba-учетные записи пользователей синхронизированы. Возможно, имеет смысл создать отдельного пользователя Samba с соответствующими правами.
Следуя этим шагам, вы должны успешно настроить общую папку за пределами домашней директории. Если у вас возникнут дополнительные вопросы или сложности, не стесняйтесь задавать их.