[samba] Как настроить самбу?
Slava Dubrovskiy
slava на psv.com.ua
Пт Апр 2 20:41:34 MSD 2004
Здравствуйте!
Пытаюсь настроить самбу samba-3.0.3-alt0.1 Опишу последовательность
действий, и может уважаемое сообщество подскажет, что не правильно я
делаю. Цель - сделать самбу в качестве PDC. В сети есть клиненты и
Win98, WinXP-Prof, Win2000, Также есть Win server 2003 в качестве
Terminal server для 1С.
Как я понял из документации, самбу можно так настроить, чтобы при
добавлении пользователя, автоматически добавлялся и пользователь в
Linux, при этом ему назначаются соответствующие группы из net groupmap
list и лучше это делать через winbind. Правильно? При этом, если не был
сделан аккаунт на машину, то он тоже автоматически добавляется.
1. Сначала я сделал smb.conf
Вот что мне выдала # testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[netlogon]"
Processing section "[Profiles]"
Processing section "[C$]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions
# Global parameters
[global]
dos charset = CP866
unix charset = KOI8-R
display charset = KOI8-R
workgroup = PSV
server string = Samba server on %h (v. %v)
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n
*ReType*new*UNIX*password* %n\n
unix password sync = Yes
log file = /var/log/samba/log.%m
max log size = 50
add user script = /usr/sbin/useradd -s /bin/false %u
add group script = /etc/samba/smbgrpadd.sh "%g"
add machine script = /usr/sbin/useradd -d /dev/null -g machines
-c 'Machine Account' -s /bin/false -M %u
logon script = %U.bat
logon path =
logon home =
domain logons = Yes
os level = 120
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
message command = /usr/bin/linpopup "%f" "%m" %s; rm %s
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
winbind separator = @
hosts allow = 192.168.1., 127.
[homes]
comment = Home Directory for '%u'
read only = No
browseable = No
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = Yes
root preexec = /usr/bin/ntlogon -u %U -g %G -o %a -d
/var/lib/samba/netlogon
root postexec = rm -f /var/lib/samba/netlogon/%U.bat
[Profiles]
path = /var/lib/samba/profiles
guest ok = Yes
browseable = No
[C$]
comment = Administrative share for homes
path = /home
valid users = '@DOMAIN\\Domain Admins'
admin users = '@DOMAIN\\Domain Admins'
read only = No
2. Дальше я воспользовался примером из SAMBA HOWTO Collection и сделал
скрипт для автоматического добавления групп и прописал его в команде add
group script = /etc/samba/smbgrpadd.sh "%g"
Вот сам скрипт:
#!/bin/bash
# Add the group using normal system groupadd tool.
groupadd smbtmpgrp00
thegid= `cat /etc/group | grep smbtmpgrp00 | cut -d ":" -f3`
# Now change the name to what we want for the MS Windows networking end
cp /etc/group /etc/group.bak
cat /etc/group.bak | sed "s/smbtmpgrp00/$1/g" > /etc/group
# Now return the GID as would normally happen.
echo $thegid
exit 0
3. Я хочу делить пользователей на несколько групп и по совету SAMBA
HOWTO Collection скриптом initgroups.sh их делаю.
#!/bin/bash
net groupmap modify ntgroup="Domain Admins" unixgroup=adm
net groupmap modify ntgroup="Power Users" unixgroup=adm
net groupmap modify ntgroup="Administrators" unixgroup=adm
net groupmap modify ntgroup="Domain Users" unixgroup=users
net groupmap modify ntgroup="Users" unixgroup=users
net groupmap modify ntgroup="Domain Guests" unixgroup=nobody
net groupmap modify ntgroup="Guests" unixgroup=nobody
groupadd menegers
groupadd buhgalters
groupadd sklad
groupadd logistiks
net groupmap add ntgroup="Menegers" unixgroup=menegers type=d
net groupmap add ntgroup="Buhgalters" unixgroup=buhgalters type=d
net groupmap add ntgroup="Sklad" unixgroup=sklad type=d
net groupmap add ntgroup="Logistiks" unixgroup=logistiks type=d
Теперь net groupmap list вот что выдает:
net groupmap list
Sklad (S-1-5-21-3230216366-3266141554-879821252-2093) -> sklad
System Operators (S-1-5-32-549) -> -1
Logistiks (S-1-5-21-3230216366-3266141554-879821252-2095) -> logistiks
Replicators (S-1-5-32-552) -> -1
Guests (S-1-5-32-546) -> nobody
Menegers (S-1-5-21-3230216366-3266141554-879821252-2089) -> menegers
Power Users (S-1-5-32-547) -> adm
Domain Admins (S-1-5-21-3230216366-3266141554-879821252-512) -> adm
Print Operators (S-1-5-32-550) -> -1
Domain Guests (S-1-5-21-3230216366-3266141554-879821252-514) -> nobody
Administrators (S-1-5-32-544) -> adm
Domain Users (S-1-5-21-3230216366-3266141554-879821252-513) -> users
Account Operators (S-1-5-32-548) -> -1
Backup Operators (S-1-5-32-551) -> -1
Users (S-1-5-32-545) -> users
Buhgalters (S-1-5-21-3230216366-3266141554-879821252-2091) -> buhgalters
4. Следующим шагом, настраиваю netlogon.ру который идет в samba-doc.
Делаю все так как написано readme и прописываю команды запуска в секцию
[netlogon]
5. И теперь мне кажется, что все готово к запуску.
# service smb start Starting CIFS services: NetBIOS over TCP/IP server,
Samba server [ DONE ]
# service winbind start Starting Winbind
services:
[ DONE ]
6. Теперь я создаю пользователя командой pdbedit -a lida а оно не
создается, пишет, что сначала нужно создать локального пользователя. Но
тогда в каком случае должна работать команда add user script =
/usr/sbin/useradd -s /bin/false %u ?
Ну ладно, создам руками.
А вот дальше не знаю что делать. :-(
Во первых в Win98 не может получить список пользователей с сервера,
во вторых в лог сыпется вот это:
Apr 1 10:49:09 server winbindd[13247]: [2004/04/01 10:49:09, 0]
rpc_client/cli_pipe.c:rpc_api_pipe(424)
Apr 1 10:49:09 server winbindd[13247]: cli_pipe: return critical
error. Error was Call timed out: server did not respond after 10000
milliseconds
Подскажите, что делать дальше?
С уважением,
Дубровский Вячеслав
Подробная информация о списке рассылки Samba