Вопрос или проблема
[homes]
path = /share/%S
valid users = %S user1 user2
read list = user2
read only = no
browseable = no
writable = yes
force create mode = 0660
force users = %S
force directory mode = 2770
У меня есть user1 и user2 в моей ОС Linux и пользователи Samba, но эти пользователи не могут подключиться. Работает только с пользователями (%S), которые из Windows-клиента пытаются войти на сервер Linux.
.
Ответ или решение
Доступ нескольких пользователей к Samba-шаре: подробное руководство
Введение
Настройка совместного использования файлов через Samba может быть сложной задачей, особенно когда речь идет о предоставлении доступа нескольким пользователям. В данном руководстве мы подробно рассмотрим конфигурацию Samba, предоставляемую в примере, обсудим проблемы, с которыми могут столкнуться пользователи, и предложим решения.
Проблема
Ваша конфигурация Samba выглядит следующим образом:
[homes]
path = /share/%S
valid users = %S user1 user2
read list = user2
read only = no
browseable = no
writable = yes
force create mode = 0660
force users = %S
force directory mode = 2770
Из этой конфигурации видно, что вы хотите обеспечить доступ к домашним директориям пользователей через Samba. Однако, пользователи user1
и user2
не могут подключиться, в то время как пользователи, входящие в систему, могут это сделать.
Анализ конфигурации
-
path = /share/%S
: Этот параметр указывает путь к размещению для каждой домашней директории.%S
расширяется в имя share, соответствующее имени пользователя. Это ограничивает доступ к конкретной директории, что может быть подходящим для сценариев с индивидуальными данными пользователей, но не для общего доступа. -
valid users = %S user1 user2
: Использование%S
означает, что доступ предоставляется только для пользователя, который пытается подключиться, а также для двух конкретных пользователей (user1
иuser2
). Это может вызвать проблемы, если вы хотите предоставить доступ сразу нескольким пользователям. -
read list = user2
иread only = no
: Эти параметры весьма противоречивы.user2
может только читать, но другие пользователи могут иметь полный доступ, что может создать путаницу при совместном использовании файлов. -
force create mode = 0660
: Этот параметр задает права на создаваемые файлы. Только пользователи с разрешениями могут их изменять. -
force directory mode = 2770
: Этот параметр требует, чтобы директории имели определенные права доступа, включая разрешение для группы, что может быть полезно в контексте совместного доступа.
Решения
-
Измените
valid users
: Если вы хотите позволить всем пользователям в вашей системе доступ к общей папке, измените строку на:valid users = user1 user2
Или, если доступ должен предоставляться всем пользователям Samba:
valid users = @users
-
Используйте общий ресурс: Вместо конфигурации для каждой домашней директории, вы можете создать общий ресурс, который может быть доступен для всех пользователей:
[shared] path = /path/to/shared/directory valid users = user1 user2 read only = no browseable = yes writable = yes create mask = 0660 directory mask = 2770
-
Проверьте права доступа к файлам и каталогам: Убедитесь, что пользователи Linux, соответствующие пользователям Samba, имеют правильные права на доступ к директории:
chown -R :users /share chmod -R 2770 /share
-
Перезапустите Samba: После внесения изменений в конфигурацию, не забудьте перезапустить службы Samba для применения изменений:
sudo systemctl restart smbd sudo systemctl restart nmbd
-
Проверка подключения: Убедитесь, что пользователи могут подключаться через клиент Samba:
smbclient //server_ip/shared -U user1
Заключение
Совместное использование ресурсов через Samba требует тщательной настройки прав доступа и конфигурации. Убедитесь в правильности вашей конфигурации и прав доступа, чтобы обеспечить доступ нужным пользователям. С помощью указанных выше шагов вы сможете устранить проблемы и настроить эффективную работу с ресурсами Samba в вашей сети.