PDC на Samba (без LDAP)
Устанавливаем пакеты:
yum install samba samba-common samba-doc libcupsys2-gnutls10 libkrb53 winbind smbclient
/etc/samba/smb.conf
[global] workgroup = BUH netbios name = server-buh server string = BUH SMBSERVER passdb backend = tdbsam log level = 1 log file = /var/log/samba/workstations/%m.log max log size = 50 add user script = /usr/sbin/useradd -m %u delete user script = /usr/sbin/userdel -r %u add group script = /usr/sbin/groupadd %g delete group script = /usr/sbin/groupdel %g add user to group script = /usr/bin/gpasswd -a %u %g delete user from group script = /usr/bin/gpasswd -d %u %g add machine script = /usr/sbin/useradd -g nt_workstations -s /bin/false -d /dev/null %u set primary group script = /usr/sbin/usermod -g %g %u logon path = logon drive = logon home = logon script = %G.bat domain logons = yes socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 interfaces = eth0 lo bind interfaces only = Yes hosts allow = 10.10., 127. time server = yes preferred master = yes domain master = yes local master = yes os level = 255 unix charset = utf8 dos charset = cp1251 display charset = cp1251 load printers = yes printing = cups printcap name = cups wins support = yes [printers] comment = All printers path = /var/spool/samba public = yes printable = yes guest ok = yes [homes] comment = Home Directories browseable = no writable = yes [netlogon] path = /home/samba/netlogon admin users = admin valid users = %U guest ok = yes share modes = no writable = no write list = @nt_admins,@nt_it #read only = no #browseable = yes #root preexec = net rpc group addmem "Опытные пользователи" %U -S %m -Uadmin%1 & #root preexec = net rpc group addmem "Опытные пользователи" "veronika" -S "mojaisk-srv" -Uadmin%1 & #root preexec = /usr/local/bin/smb %U %m [incoming] path = /home/samba/share/incoming writable = yes create mask = 0775 directory mask = 0775 ;force group = users valid users = @managers, @nt_admins [docs] path = /home/samba/share/docs writable = yes write list = @nt_admins, @nt_it [distrib] path = /home/samba/share/distrib write list = @nt_admins, @nt_it [clients] path = /home/samba/share/clients writable = yes valid users = @managers, @nt_admins, @nt_it [home] path = /home/%U writable = yes create mask = 0775 directory mask = 0775 ;force group = users valid users = %U
Чтобы пользователи на своих ПК были членами группы «Опытные пользователи» (сработает после 2-го входа пользователя в домен) расскоментируйте строку:
root preexec = /usr/local/bin/smb %U %m
скрипт:
/usr/local/bin/smb
#!/bin/bash net rpc group addmem "Опытные пользователи" $1 -S $2 -Uadmin%1 &
chmod +x /usr/local/bin/smb
Создаем расшаренные папки согласно конфигу и устанавливаем права:
chmod 777 /home/samba/share
Для начала можно установить полный доступ на шаринги:
chmod 777 -R /home/samba/share
а уже после тестирования системы применять более строгии квоты от Linux.
/home/samba/netlogon/users.bat
net time \\SERVER-BUH /set /yes net use x: \\SERVER-BUH\share\incoming net use y: \\SERVER-BUH\share\docs net use u: \\SERVER-BUH\share\home net use z: \\SERVER-BUH\share\distrib
unix2dos /home/samba/netlogon/*
chgrp -R users /home/samba/incoming
chmod -R g+w /home/samba/incoming
groupadd nt_managers
groupadd nt_workstations
groupadd nt_admins
groupadd nobody
chgrp -R nt_managers /home/samba/clients
chmod -R g+w /home/samba/clients
smbpasswd -a root
Сопоставление созданных групп:
net groupmap add rid=514 ntgroup="Domain Guests" unixgroup=nobody
net groupmap add rid=513 ntgroup="Domain Users" unixgroup=users
net groupmap add rid=515 ntgroup="Domain Computers" unixgroup=nt_workstations
net groupmap add rid=512 ntgroup="Domain Admins" unixgroup=nt_admins
net groupmap add ntgroup="Managers" unixgroup=nt_managers
net groupmap add ntgroup="BOOCKKEEPPERS" unixgroup=nt_bookkeepers
net groupmap add ntgroup="IT" unixgroup=nt_managers
Проверка:
net groupmap list
Managers (S-1-5-21-1576939014-896421100-3238985702-1001) -> nt_managers
BOOKKEEPERS (S-1-5-21-1576939014-896421100-3238985702-1021) -> nt_bookkeepers
Domain Users (S-1-5-21-1576939014-896421100-3238985702-513) -> users
Domain Computers (S-1-5-21-1576939014-896421100-3238985702-515) -> nt_workstations
Domain Admins (S-1-5-21-1576939014-896421100-3238985702-512) -> nt_admins
Domain Guests (S-1-5-21-1576939014-896421100-3238985702-514) -> nobody
IT (S-1-5-21-1576939014-896421100-3238985702-1019) -> nt_it
Создание администратора:
useradd -m -c "Admin" -G nt_admins -g users admin
smbpasswd -a admin
Проверка:
net rpc group members "Domain Admins" -Uadmin%1
BUH\admin
Добавление прав группе Domain Admins:
net rpc rights grant "Domain Admins" SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege SeRestorePrivilege SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege -Uadmin%1
Ввод сервера в домен
net rpc join -U admin%1
Joined domain BUH.
Проверка:
net rpc testjoin
Join to 'BUH' is OK
net rpc info -U admin%1
Domain Name: BUH
Domain SID: S-1-5-21-2612455133-1728142050-408360050
Sequence number: 1271848125
Num users: 2
Num domain groups: 1
Num local groups: 0
Добавление пользователей:
Добавим в БД SAMBA все рабочие станции. По умолчанию они будут принадлежать группе «Domain Computers».
net rpc user add dedulin$ -U admin%1
net rpc user add feoktistova$ -U admin%1
net rpc user add pvl$ -U admin%1
Добавим в БД SAMBA всех пользователей. По умолчанию они будут принадлежать группе «Domain Users».
net rpc user add dedulin -S SMB -U admin%1
net rpc user add feoktistova -S SMB -U admin%1
net rpc user add pvl -S SMB -U admin%1
Добавить/удалить сопоставление:
net groupmap {add,delete} ntgroup="Managers" unixgroup=nt_managers
Добавить/удалить пользователя:
net rpc user {add,delete} user1 -U admin%1
Добавить/удалить компьютер:
net rpc user {add,delete} comp1$ -U admin%1
Добавить/убрать пользователя в доп. группу:
net rpc group {addmem,delmem} "Managers" user1 -U admin%1
Сменить основную группу пользователя:
usermod -g nt_managers user
Установить пароль для пользователя:
smbpasswd user
Ввести сервер в домен:
net rpc join -Uadmin%1
Проверить на вход в домен:
net rpc testjoin
Добавить права определенной группе:
net rpc rights grant "Domain Admins" SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege
SeRestorePrivilege SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege -Uadmin%1
Список сопоставлений:
net groupmap list
Список всех пользователей:
net rpc user -U admin%1
Список всех групп:
net rpc group -U admin%1
Список пользователей принадлежащих определенной группе:
net rpc group members "Managers" -U admin%1
Список компьютеров (группа «Domain Computers»):
net rpc group members "Domain Computers" -U admin%1
Группы, которым принадлежит определенный пользователь:
net rpc user info user3 -Uadmin%1
Общая информация о домене:
net rpc info -Uadmin%1
apt-get install dialog
Нписано на основе статьи: http://87.236.27.5/index.php/section-table/35-debian/85-debiansambapdc