LINUX.ORG.RU
решено ФорумAdmin

Samba: доступ к сетевой папке гостям и пользователю

 , ,


0

1

Добрый день уважаемые форумчане.

Задача следующая: Требуется расшарить папку Films, так чтобы гость мог только читать и выполнять, а пользователь admin имел полные права. Система - Linux Mint 17.2 Rafaela.

Итак, что было предпринято:

sudo adduser admin - создал нового пользователя admin.

smbpasswd -a admin - создал самба пользователя.

smbpasswd -e admin - активировал его.

sudo gedit /etc/samba/smbusers добавил строку admin = admin

sudo chmod 775 -R /data3/Films - установил права доступа на папку Films.

Отредактировал smb.conf:

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Linux Mint)
dns proxy = no
hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/
log file = /var/log/samba/log.%m
max log size = 100
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = Bad User
usershare allow guests = yes

[Films]
writable = yes
path = /data3/Films
guest ok = yes
browseable = yes
create mask = 775
directory mask = 775
admin users = admin

Рестартнул самбу sudo service smbd restart. Также пробовал рестартить комп.

Клиентский компьютер - Win 7.

В результате: если проходить аутентификацию под пользователем admin то мы имеем полные права и всё хорошо, а вот под гостем(без аутентификации) шару видим, а заходить не хочет.

Скрин: http://5.firepic.org/5/images/2015-10/08/gxra5xw5a7sn.jpg

Подскажите, пожалуйста, где я ошибся?

---------------------------------------

После попытки захода на шару как гость, введя в виндовой cmd команду net use я вижу что к шаре я подключен, т.е. аутентификацию как гость прошёл. Значит надо копать в сторону прав доступа?

c:\>net use
Новые подключения будут запомнены.


Состояние   Локальный  Удаленный                 Сеть

-------------------------------------------------------------------------------
OK                     \\server\Films            Microsoft Windows Network
Команда выполнена успешно.

---------------------------------------

Обнаружил, вот что: если к шаре дописать force user = root, то на шару как гость заходит, но с полными правами доступа к папке. А при прописании к примеру force user = plex (доступ только на чтение и выполнение) на шару заходить перестаёт и даёт то же сообщение, что и выше на скрине.

Ответ на: комментарий от conalex

Пробовал прописать в секции [global] параметр guest account = nobody потом попробовал guest account = plex (реально существующий пользователь). Так же пробовал map to guest = Bad Password. После внесения изменений sudo service smbd restart делал, на винде после каждой попытки подключения Net use * /delete делал. Во всех случаях результат тот же - не заходит, окно тоже что на скрине выше.

KuziaaCat ()
Ответ на: комментарий от KuziaaCat
[global]
        workgroup = W158
        server string = %h server
        interfaces = 127.0.0.0/8, eth0, tun0
        map to guest = Bad User
        obey pam restrictions = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        unix password sync = Yes
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        dns proxy = No
        panic action = /usr/share/samba/panic-action %d
        idmap config * : backend = tdb

[share]
        path = /home/share
        read only = No
        create mask = 0777
        directory mask = 0777

[video]
        path = /media/usb0/video

[public]
        path = /media/usb0/public
        read only = No
        create mask = 0777
        directory mask = 0777
        guest ok = Yes

на тебе мой конфиг, смотри, сравнивай. на public винда заходит без пароля и без ошибок. созадются папки и файлы с правами nobody (если виндовый юзер, выполнивший подключение, не найден в базе самбы)

samba 3.6.6, если что, на восьмом дебиане

conalex ★★★ ()
Последнее исправление: conalex (всего исправлений: 2 )
Ответ на: комментарий от conalex

Сравнил наши кофиги и, к сожалению, ничего нового не увидел. Зато обнаружил, вот что: если к шаре дописать force user = root, то на шару как гость заходит, но с полными правами доступа к папке. А при прописании к примеру force user = plex (доступ только на чтение и выполнение) на шару заходить перестаёт и даёт то же сообщение, что и выше на скрине.

KuziaaCat ()
Ответ на: комментарий от conalex

К сожалению, при force user = nobody также не заходит. Заходит только при force user = root, но с полными правами, что не требуется.

KuziaaCat ()
Ответ на: комментарий от Inside-Squirrel

security = USER в Samba 4 идёт по умолчанию, прописывать смысла нету.

KuziaaCat ()

На тебе готовое решение. Создаешь пользователя (к примеру с именем adminushka) с домашним каталогом. Лучше пусть будет в домашнем каталоге, меньше гемороя с доступом будет.

useradd -m adminushka
Не забыть создать права своей папке.
sudo chmod 775 -R /home/adminushka
Создать ему пароль
smbpasswd -a adminushka
Активировать учетную запись ему
smbpasswd -e adminushka
Теперь конфиг твоей самбы
[global]
    workgroup = WORKGROUP
    netbios aliases = Server
    server string = Samba
#	Укажи внутренний интерфейс, от греха подальше
    interfaces = eth1 
    passwd program = /usr/bin/passwd %u
    username map = /etc/samba/smbusers
    unix password sync = Yes
    syslog = 0
    log file = /var/log/samba %m
    max log size = 100
    load printers = No
    os level = 65
    local master = No
    dns proxy = No
    idmap config * : backend = tdb
# Я еще указал свою локалку
    hosts allow = 192.168.1.

#	Админу доступ на запись, всем сотальным только на чтение.
[Видео]
    comment = Видео
    path = /home/video
    read only = yes
    write list = adminminushka
    force user = nobody
    force group = nogroup
    create mask = 0775
    directory mask = 0775
В бой!

Humaxoid ()
Ответ на: комментарий от Humaxoid

Спасибо, но твой конфиг не соответствует задаче и в моём случае нежизнеспособен: отсутствует guest ok = yes и map to guest = Bad User, а также для работы force user = nobody требуется выставить соответствующие права доступа на каталог. Но свою проблему я понял и устранил, проблема была с правами доступа/владельцем на вышестоящий каталог.

KuziaaCat ()
Ответ на: комментарий от KuziaaCat

Молодец, можно и так. Но когда read only = yes, write list = anyuser, то guest ok = yes не обязателен. Всё на уровне прав.А эти права сами установятся, в моем случае при create mask = 0775 directory mask = 0775

Humaxoid ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.