LINUX.ORG.RU
ФорумAdmin

samba не пускает winxp, но пускает win7 с аутентификацией sambauser`а

 


0

2

Задача - расшарить каталоги самбой для доступа с Хрюши. Худо-бедно попробовал, на 7ке видно, но пришлось залогиниться как sambauser:

# который был создан и добавлен в самбу:
sudo useradd -M -N -r -s /bin/false sambauser
sudo smbpasswd -a sambauser

везде пишут про этот метод но он не сработал.

В Хрюше нет доступа к серверу. В 7ке есть, но не простой, а с аутентификацией (зашёл как sambauser)

Помогите запустить свинью.

Этой строкой я редактирую конфиг, перезапускаю сервер, смотрю правильность синтаксиса:

clear && sudo vim /etc/samba/smb.conf && sudo systemctl start smb.service && smbd --version && samba-tool testparm --suppress-prompt

Выдача:


Version 4.15.0
INFO 2021-10-23 14:42:31,984 pid:61737 /usr/lib/python3.9/site-packages/samba/netcmd/testparm.py #96: Loaded smb config files from /etc/samba/smb.conf
INFO 2021-10-23 14:42:31,984 pid:61737 /usr/lib/python3.9/site-packages/samba/netcmd/testparm.py #97: Loaded services file OK.
# Global parameters
[global]
	client min protocol = NT1
	guest account = sambauser
	lanman auth = Yes
	log file = /usr/local/samba/var/log.%m
	max log size = 50
	netbios name = SMB
	ntlm auth = ntlmv1-permitted
	server max protocol = NT1
	server signing = required
	server string = Samba Server
	workgroup = ABBYS

[homes]
	browseable = No
	comment = Home Directories
	read only = No

[printers]
	browseable = No
	comment = All Printers
	path = /usr/spool/samba
	printable = Yes

[zx]
	comment = ZX Files
	guest ok = Yes
	path = /mnt/ZX/
	write list = @staff

[public]
	guest ok = Yes
	path = /home/hikikomori/share/


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

не важно…

В примере фигурирует 6 раз:

| grep printable
   printable = yes
;   printable = no
;   printable = yes
;   printable = no
;   printable = no
;   printable = no
hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

команда = параметр printable = no

Круть! Жутко интересно, в каком «как стать Ъ админом за 30 минут» такое написано?

anc ★★★★★
()
Ответ на: комментарий от hikikomori

кексиком запасся.

Не подавись. Хотя…

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

Какая-то странная фигня произошла, хотя вроде ничего не трогал. Свинья не видит вообще никаких шар, и даже имени сервера в сетевом окружении.

В семёрке всё видно и доступно.

Есть небольшие ошибки в статусе, но с ними всё работало:

sudo systemctl status smb.service 
● smb.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
     Active: active (running) since Sun 2021-10-24 23:42:04 MSK; 1min 6s ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
   Main PID: 19315 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 4 (limit: 4378)
     Memory: 12.8M
        CPU: 148ms
     CGroup: /system.slice/smb.service
             ├─19315 /usr/bin/smbd --foreground --no-process-group
             ├─19317 /usr/bin/smbd --foreground --no-process-group
             ├─19318 /usr/bin/smbd --foreground --no-process-group
             └─19319 /usr/lib/samba/samba/samba-bgqd --ready-signal-fd=47 --parent-watch-fd=13 --debuglevel=0 -F

окт 24 23:42:04 hermitlair smbd[19315]: [2021/10/24 23:42:04.740443,  0] ../../lib/util/debug.c:1108(reopen_one_log)
окт 24 23:42:04 hermitlair smbd[19315]:   reopen_one_log: Unable to open new log file '/usr/local/samba/var/log.smbd': Нет такого файла или каталога
окт 24 23:42:04 hermitlair smbd[19315]: [2021/10/24 23:42:04.741100,  0] ../../lib/util/debug.c:1108(reopen_one_log)
окт 24 23:42:04 hermitlair smbd[19315]:   reopen_one_log: Unable to open new log file '/usr/local/samba/var/log.smbd': Нет такого файла или каталога
окт 24 23:42:04 hermitlair smbd[19315]: [2021/10/24 23:42:04.741205,  0] ../../lib/util/debug.c:1108(reopen_one_log)
окт 24 23:42:04 hermitlair smbd[19315]:   reopen_one_log: Unable to open new log file '/usr/local/samba/var/log.smbd': Нет такого файла или каталога
окт 24 23:42:04 hermitlair smbd[19317]: [2021/10/24 23:42:04.748248,  0] ../../lib/util/debug.c:1108(reopen_one_log)
окт 24 23:42:04 hermitlair smbd[19317]:   reopen_one_log: Unable to open new log file '/usr/local/samba/var/log.smbd': Нет такого файла или каталога
окт 24 23:42:04 hermitlair systemd[1]: Started Samba SMB Daemon.
окт 24 23:42:04 hermitlair systemd[1]: smb.service: Got notification message from PID 19319, but reception only permitted for main PID 19315

В свинье поначалу хоть имя было видно в сетевом окружении в списке, но видимо из кэша. Как только сделал чистку и перезагрузился:

ipconfig /flushdns
nbtstat -R
nbtstat -RR
netsh winsock reset

то имя предсказуемо пропало.

Сеть есть, инет есть, другой ПК на 7ке свинья видит.

Есть ли какие идеи куда копать?

hikikomori ★★★
() автор топика
Ответ на: комментарий от anc

команда = параметр printable = no

Круть! Жутко интересно, в каком «как стать Ъ админом за 30 минут» такое написано?

https://man.archlinux.org/man/smb.conf.5

 FILE FORMAT
The file consists of sections and parameters. A section begins with the name of the section in square brackets and continues until the next section begins. Sections contain parameters of the form:

 name = value 
hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 5)
Ответ на: комментарий от anc

Ну не взыщите, вы спросили откуда цитата, я ответил.

Может подскажите по проблеме?

Вроде ничего не менял, но свинья опять перестала видеть. Семёрка в списке компов не видит, но в левом столбце в дереве сети комп есть, открывается - доступ к файлам работает. Пробую конфиг с нуля делать, сижу читаю ман. ЧЯНД…

hikikomori ★★★
() автор топика
Ответ на: комментарий от anc

Я сейчас громко выругался в ночи: С*КА!
Вот так.
Не понимаю, почему-то остановился демон nmb. А я мониторил только демона smb, и недоумевал.

И вот решил поглядеть, а он остановлен. Запустил - всё заработало.

CMD=status; sudo systemctl $CMD nmb
CMD=start; sudo systemctl $CMD nmb
hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Часть этого софта на 7ке уже не идёт

Просто уточнить... XP обычно 32bit, 7-ка - 64.
Ты точно для этого софтра 7-ку 32 бита пробовал?

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

Дополню. Там же ещё есть фигня типа «совместимость с ...»
2ТС вы пробовали эти и другие параметры менять?

anc ★★★★★
()
Ответ на: комментарий от Shadow

W7/32 даже и не пробовал, поскольку 7ка на том железе с FDD портом и ISA слотом врядли запустится. Плюс куча софта и ретроигр не идёт на 7ке, а только на старых окнах.

hikikomori ★★★
() автор топика
Ответ на: комментарий от anc

Сейчас захотел настроить доступ разный для разных пользователей и групп. Как это делается, вроде бы тут в теме описывалось:

Создание групп пользователей в samba (комментарий)

и видимо вписывать потом имена в шары.

Я думал добавить пользователей в разные группы с разным доступом, чтобы не перечислять в каждой шаре всех допускаемых юзеров. Но утилита у меня выдаёт ошибку:

sudo samba-tool group add family

ERROR(ldb): Failed to add group "family" - Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory

Такого файла действительно нет, даже если его создать с touch, то тогда ругается на битый файл ERROR(ldb): Failed to add group "family" - Unable to open tdb '/var/lib/samba/private/sam.ldb': Input/output error

Может я что-то не то делаю, раз этого файла по дефолту нет?

И какая разница, как создавать самбе пользователя, так:

samba-tool user add "user_name"

или так:

sudo useradd -M -N -r -s /bin/false sambauser

??? Как вообще правильно?

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

У меня такое чувство, что это фича от Active Directory

samba-tool: create a group in Samba Active Directory

~# samba-tool group add groupname
Added group groupname

(q) https://wiki.samba.org/index.php/User_and_Group_management

И чтобы это заработало, нужно менять server role = standalone server на server role = active directory domain controller

????


Server role. Defines in which mode Samba will operate. Possible
values are "standalone server", "member server", "classic primary
domain controller", "classic backup domain controller", "active
directory domain controller".

Most people will want "standalone server" or "member server".
Running as "active directory domain controller" will require first
running "samba-tool domain provision" to wipe databases and create a
new domain.

А он мне вообще нужен? Я просто хочу разрешать шары не персонально юзерам, а группам, куда добавлены юзеры по уровню доступа.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Inverted synonym это акроним или синоним полученный инвертацией?

Акроним — аббревиатура читаемая как слово. А инвертированный синоним называется «антоним».

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

К чёрту это словоблудие, пока мозг не лопнул) Я пытаюсь права доступа разграничить. Хотел раздавать права группам, но см. выше не получилось, пока поимённо:

[zx]
   comment = ZX-Files
   path = /mnt/ZX/
   public = yes
   writable = yes
#   write list = fenix
   valid users =  user1 user2
   guest ok = yes
hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Начал писать «нострик, ты тупой, группы системные использовать надо», но раз словобдлудие к чёрту, то не стану, товарищ Кихохироми.

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

Товарищ @mogwai, вы напрасно восприняли это на свой счёт. Это моя заслуга, не лишайте лавров! Если на усталую голову читать эти формулировки, то звучит двусмысленно, как по-русски фраза «да, нет. И нет, да». А ещё куча синонимов, отнюдь не добавляющих понимания. Лучше бы парсер для наглядности запрещал использовать взаимоисключащие параметры и\или синонимы.

По существу: Я создал системных пользоватей в заданной группе. Не догонячю, как мне её теперь использовать, с префиксом @groupname? Всю ночь просидел за опытами и чтением манов, начинаю тупить.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Значит необходимо проспаться, и со свежей головой вернуться к задаче. Может тогда догадаешься, что самба не может дать пользователю доступ к файлу на который у пользователя прав нет.

mogwai ★★★★
()
Ответ на: комментарий от anonymous

Действительно странно, ведь у каждого анона свой «почерк». Ты не различаешь?

Подписываться надо.

Каштан

anonymous
()
Ответ на: комментарий от anc
  1. Не подскажите почему так?
$ groups smb_usr01
sambashare users
sudo gpasswd -d smb_usr01 users
Удаление пользователя smb_usr01 из группы users
gpasswd: пользователь «smb_usr01» не является членом «users»

WTF?!

  1. И почему в /etc/group если указан юзер, то только один, а не все, входящие в группу?

(q) Список пользователей, находящихся в группе. https://help.ubuntu.ru/wiki/пользователи_и_группы

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

2. И почему в /etc/group если указан юзер, то только один, а не все, входящие в группу?

2.1 Не обязательно один.
2.2 Группа пользователя прописана в /etc/passwd чиселко в четвертом поле.

1. Не подскажите почему так?

Думаю по причине указанной выше.

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

Я немного не понимаю, когда команда оперирует основной, а когда дополнительной группой. И где они хранятся, когда их нет в списке?

getent group |grep sambashare
sambashare:x:1002:user01,user02

На самом деле в группе БОЛЬШЕ пользователей! Не знаю, какой командой вывести список пользователей в группе, гугл предлагает grep на /etc/group, где их нет. Поэтому набросал такую строку, давайте удивимся:

for x in $(cat /etc/passwd | grep '/home' | cut -d: -f1);do printf $x:; groups $x;done
hikikomori:wheel lp sys network power autologin hikikomori  
user01:sambashare  
user02:sambashare  
user03:sambashare  
user04:sambashare  
user05:sambashare  
user06:sambashare  

Почему в /etc/group их нет?
В /etc/passwd есть первичная группа, но не полный список групп каждого пользователя. По идее дополнительные группы пользователя берутся из /etc/group, так?

Немного не догоняю. Так, попробую создать пару юзеров и посмотреть, куда упадут их доп.группы:

sudo useradd -M -N -r -s /bin/false -g sambashare -G group02,group03  testuser01
sudo useradd -M -N -r -s /bin/false -g sambashare -G group02,group03  testuser02

cat /etc/passwd | grep testuser

testuser01:x:953:1002::/home/testuser01:/bin/false
testuser02:x:952:1002::/home/testuser02:/bin/false

grep -E '^sambashare|^group02|^group03' /etc/group 

group03:x:209:testuser01,testuser02
group02:x:1001:testuser01,testuser02
sambashare:x:1002:user03,user05

sambashare (1002) - их основная группа, её мы видим в /etc/passwd в виде GID. А членство в дополнительных группах описано в /etc/group для каждой группы список имён юзеров, но ТОЛЬКО тех, у кого эта группа дополнительная. Я правильно понял, или нет? Может упустил чего?

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

Что вам не понятно во фразе «Группа пользователя прописана в /etc/passwd чиселко в четвертом поле.» ?

anc ★★★★★
()

Мда, вот уж где действительно «проблемы линуксоидов в 2021м году не перестают поражать воображение» ©

Теперь по делу. Варианты:

  • берем софтину под оффтопик, что умеет подключатся к sshfs, а юзеру показывать обычный сетевой диск (название точное уже не припомню, но юзал в продакшене успешно именно на ХР - работало даже через инет, не то что в локалке)

  • ставим в docker контейнер старую версию samba и для ХР будет виден как бы отдельный сервер, но по факту даем доступ к тому же каталогу, что и на основном

  • выкидываем компы с ХР и начинаем, наконец-то, жить

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

sambashare (1002) - их основная группа, её мы видим в /etc/passwd в виде GID. А членство в дополнительных группах описано в /etc/group для каждой группы список имён юзеров, но ТОЛЬКО тех, у кого эта группа дополнительная. Я правильно понял, или нет? Может упустил чего?

Да. Всё верно.

anc ★★★★★
()
Ответ на: комментарий от mogwai

Спасибо, я всё разрулил с правами. Может кому интересно будет, и проверки для. Пример шары:

[Pictures]
   comment = Фото, картинки 
   path = /mnt/Pict/
   veto files = /xxx/raw/    # закрыть доступ к файлам и папкам по маскам
   guest ok = yes        # гости увидят, но не войдут т.к. ниже ограничения
   valid users = @sambashare   # допустимые пользователи
   read list   = @sambashare   # кто может читать
   write list  = fenix         # а кто и писать

Проверил на winxp и w7, всё работает, если залогиниться. Иначе в w7 шары показывает, но не пускает. Да и ладно. Возможно эти пункты избыточны: valid users, guest ok, как вы думаете? В мане сказано, что veto files тормозят скорость формирования списка файлов, и это понятно. Нельзя ли это как оптимизировать? Может точка в имени каталога? Хотя так не хотелось бы.


Кстати о скорости доступа к шарам. Меня всё устраивает, лишь бы видео можно было смотреть прямо с шары. С winxp и win7 на довольно слабых машинах всё ок, кино играет без тормозов.
А вот попробовал средствами оболочки из-под manjaro xfce зайти на шару и столкнулся с дикими тормозами. Кино сильно тормозит, как и скорость копирования…

Я конечно понимаю, на линуксе лучше пользоваться нативными шарами, но это вопрос уже отдельной темы. А в рамках этой я бы хотел, чтобы скорость была не хуже чем на венде. Такое возможно же? Почему тормозит по дефолту?Подскажите меры, пожалуйста.

В глобальной секции /etc/samba/smb.conf У меня сейчас почти ничего нет, всё по дефолту, кроме поправок на шару smb1 для winxp:

[global]

server min protocol = NT1

ntlm auth = yes
hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 1)
Ответ на: комментарий от anc

Что вам не понятно во фразе «Группа пользователя прописана в /etc/passwd чиселко в четвертом поле.» ?

В линуксе у пользователя есть основная и дополнительныя группы, которые прописаны не у пользователя, а наоборот пользователи прописаны в группе, если она для них дополнительная. Если я всё правильно понял. Наверное так сложилось исторически. Вот тут и кроется, или крылось моё непонимание.

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