воскресенье, 27 июня 2010 г.

Samba pdc


На основе этой статьи я сделал небольшой мануал для Centos.
Начиная с версии Centos 5.5 в дистрибутиве появился пакет под названием samba3x, его основное отличие от обычного пакета samba заключается в версии 3.3.8 против 3.0.3 (ну и естественно в домен самбы 3.3 может входить windows7).
Смысла ставить обычную самбу я не вижу так что:
yum install samba3x samba3x-common
После того как она поставится:
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
touch /etc/samba/smb.conf
mcedit /etc/samba/smb.conf
И вставляем в него примерно следущее:
[global]
display charset = cp1251
delete user from group script = /usr/bin/gpasswd -d %u %g
time server = yes
hosts allow = 192.168.0. 127.0.0.
# с каких ip разрешено подключаться ксамбе
netbios name = pdc
printing = cups
logon script = %G.bat
dos charset = cp1251
local master = yes
workgroup = example.loc
# название нашего домена
os level = 255
printcap name = cups
add machine script = /usr/sbin/useradd -g nt_workstations -s /bin/false -d /dev/null %u
delete user script = /usr/sbin/userdel -r %u
max log size = 50
log level = 1
log file = /var/log/samba/workstations/%m.log
load printers = yes
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
add user to group script = /usr/bin/gpasswd -a %u %g
logon drive =
domain master = yes
keepalive = 20
passdb backend = tdbsam
logon home =
wins support = true
server string = DOMAIN SERVER
password server = 127.0.0.1
logon path =
add user script = /usr/sbin/useradd -m %u
set primary group script = /usr/sbin/usermod -g %g %u
unix charset = utf8
domain logons = yes

[printers]
comment = All printers
path = /var/spool/samba
public = yes
printable = yes
guest ok = yes

[homes]
browseable = no
comment = Home Directories
veto files = /*autorun*/
# файлы с какими названиями нельзя создавать (/*autorun*/ -- чтобы не плодились вирусняки)
writable = yes

[netlogon]
path = /srv/netlogon
read only = yes
browseable = no

[public]
create mask = 0002
# с какой маской создавать файлы
directory mask = 0002
# тоже маска но для директорий
writable = yes
path = /srv/Public
# путь к шаре
force group = users
# от имени какой группы создавать файлы и папки
create mode = 775
# права на создаваемые файлы
directory mode = 775
# права на создаваемые директории
veto files = /*autorun*/

Создадим недостающие директории
mkdir -p /srv/{netlogon,Public}
Создадим батнички
vim --cmd "edit ++enc=cp1251 ++ff=dos" -- /srv/netlogon/users.bat

Для пыонэров :-)
net time \\PDC /set /yes
net use x: \\PDC\homes
net use y: \\PDC\public

Выставим права:
chgrp -R users /srv/Public
chmod -R g+w /srv/Public

Создадим самбового рута
smbpasswd -a root
Проверяем конфиг
testparm
Стартуем самбу
service smb start
service nmb start

Создаем группы
groupadd nt_workstations
groupadd nt_admins
Сопоставляем созданные группы:
Гости
net groupmap add rid=514 ntgroup="Domain Guests" unixgroup=nobody
Пользователи
net groupmap add rid=513 ntgroup="Domain Users" unixgroup=users
Windows станции
net groupmap add rid=515 ntgroup="Domain Computers" unixgroup=nt_workstations
Администраторы
net groupmap add rid=512 ntgroup="Domain Admins" unixgroup=nt_admins

Создаем администратора домена (master)
useradd -m -c "Admin" -G nt_admins -g users master
smbpasswd -a master
Ну и естественно даем ему необходимые права (все одной строкой)
######################################################
net rpc rights grant "Domain Admins" SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege SeRestorePrivilege SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege -U
######################################################
Цепляемся в наш же домен:
net rpc join -Umaster
Юзверь заводится до безобразия просто:
useradd -g users vasya
#после useradd -g идет первичная группа пользоателя (смотри ссылку в начале поста)
net rpc user add vasya
smbpasswd vasya
ВСЕ.