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

Создаём указанные директории

mkdir -p /srv/samba/netlogon
mkdir /etc/samba/printer
mkdir /home/samba
mkdir /home/samba/public

chmod 755 /home/samba
chmod 755 /home/samba/public

(Директории /var/spool/cups, /home/nikolay/Документы и /run/media/nikolay уже имеются)
# при необходимости директории {homs,incoming,docs,distrib,clients}
# В директории /srv/netlogon необходимо создать два файла users.bat и nt_managers.bat
Эти файлы будут выполняться одноимёнными группами пользователей при входе в домен.
В них содержаться команды для монтирования сетевых дисков и синхронизации часов.
Между ними может быть одно различие: обычными пользователями не будет монтироваться сетевой диск на ресурс clienеts.

/srv/samba/netlogon/users.bat
/srv/samba/netlogon/nt_managers.bat

Создаю только один файл /srv/samba/netlogon/nt_managers.bat с обычными пользователями и монтированием сетевого диска на ресурс clients.
Внимание: очень важно чтобы файлы были в Windows'кой кодировке и dos'м окончанием строки (<CR><NL>).
Самый лучший способ - создать их в "Блокноте" и затем закачть по FTP на сервер
(хотя можно открыть в vim, KWrite) сразу с преобразованием

# (предварительно необходимо создать группу nt_managers)

groupadd nt_manager
vim /--cmd "edit ++enc=cp1251 ++ff=dos" -- /srv/samba/netlogon/nt_managers.bat

net time \\SERVER /set /yes
net use x: \\SERVER\incoming
net use y: \\SERVER\docs
net use z: \\SERVER\distrib
net use w: \\SERVER\clients

Настройка Samba

Для директорий /home/nikolay/Документы [linux] выставим другие права.
Все пользователи домена должны иметь права на чтение/запись в директорию
/home/nikolay/Документы
Для этого сменим группу этой директории на users и дадим членам этой группы права на запись.

chgrp -R users /home/nikolay/Документы
chmod -R g+w /home/nikolay/Документы

Директория /run/media/nikolay [usb] доступна только для root и её права изменить невозможно.
# В директорию clients должны иметь доступ только менеджеры.
Ограничение на доступ выставлены в конфигурационном файле выше (строка valid users = @managers).
Все члены этой группы также должны иметь права на запись.
Для этого поступим так же как и с incoming. Сменим группу на nt_managers и дадим ей права на запись.

# chgrp -R nt_managers /srv/samba/clients
# chmod -R g+w /srv/samba/clients


Для того чтобы в директориях incoming и clients пользователи могли править файлы и каталоги которые были созданы другими -
в конфигурационном файле добавлены строки с указанием маски для создаваемых файлов и каталогов
(create mask = 0775, directory mask = 0775).

Создаём Samba пользователя Root

(Пароли Samba не должны быть такими же, как в системных паролях /etc/passwd)

pdbedit -a root
new password: 1234
retype new password: 1234

Проверим чтобы в конфигурационном файле небыло ошибок

/usr/bin/testparm

Запускаем

/etc/init.d/samba start

Для systemd:

systemctl start smbd.service


Проверим что SAMBA успешно стартовал:

ps ax | grep mbd
12790 ? Ss 0:00 /usr/sbin/smbd -D
12795 ? Ss 0:00 /usr/sbin/nmbd -D
12799 ? S 0:00 /usr/sbin/smbd -D
12803 pts/1 S+ 0:00 grep --colour=auto mbd

Пробуем подключиться и посмотреть на доступные сетевые ресурсы

smbclient -L localhost -Uroot%1234

Domain=[QEMU] OS=[Windows 6.1] Server=[Samba 4.5.10]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
HP LaserJet P1102w Printer HP LaserJet P1102w
public Disk Public Stuff
Документы Disk Windows-Gentoo
usb Disk
IPC$ IPC IPC Service (QEMU Server)
root Disk Home Directories
Domain=[QEMU] OS=[Windows 6.1] Server=[Samba 4.5.10]
Server Comment
--------- -------
Workgroup Master
--------- -------

Группы пользователей

Переходим к созданию групп пользователей.
Cоздадим необходимые linux группы чтобы потом сопоставить их с аналогичными группами Windows.
В Windows по умолчанию прописаны следующие основные группы:
1) Guests 2) Users 4) Administrators
Windows группе Guests можно сопоставить Linux группу
nobody, Users -users, для Administrators - nt_admins
Заодно создадим отдельную группу для менеджеров nt_manager.
Создаем Linux группы:

groupadd nt_workstations
groupadd nt_admins
# groupadd nt_managers

Каждой Windows группе должна быть сопоставлена соответствующая Linux группа.
Изначально никаких сопоставлений не создано.
Сопоставляем созданные группы:

# Гости

# 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

# Менеджеры

# net groupmap add ntgroup="Managers" unixgroup=nt_managers

Число после rid= - это числовой идентификатор основных Windows групп.
Таблица RID для основных Windows групп

Domain Admins 512
Domain Users 513
Domain Guests 514
Domain Computers 515

Создадим пользователя "nikolay", который будет администратором домена
(первичная группа - nt_admins)

useradd -m -c "Admin" -G nt_admins -g users nikolay

Добавим пользователя в БД SAMBA

pdbedit -a nikolay
new password: 5678
retype new password: 5678

Как только создан пользователь - администратор, дальше, для управления доменом, в основном будет использоваться утилита net.
С ее помощью производятся все административные действия.
Проверим, добавился ли он в группу "Domain Admins"

net rpc group members "Domain Admins" -Unikolay%5678

QEMU\nikolay

По умолчанию у группы Domain Admins нет никаких прав кроме кроме назначать и удалять привелегии другим.
Дадим группе Domain Admins все права

net sam rights grant "Domain Admins" SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege SeRestorePrivilege SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege -Unikolay%5678

Ввод в домен

Посмотрим на общую картину домена

net rpc info -Unikolay%5678

Domain Name: QEMU
Domain SID: S-1-5-21-4125663820-1216428154-320922198
Sequence number: 1446443097
Num users: 2
Num domain groups: 2
Num local groups: 0

Для того чтобы ввести в домен Windows10 ПК нужно:
1) В проводнике, правой кнопкой мышки щёлкаем на "Этот компьютер", выбраем пункт "Свойства", далее "Изменить параметры".
2) В описании добавляем "Имя компьютера",(например "Мой компьютер") Нажимаем кнопку "Изменить..."
3) Вводим: "Является членом рабочей группы" (Вводим название рабочей группы. В примере "QEMU") "OK"
4) Перезагружаемся.
5) Вызвать "Выполнить", в появившемся окне набрать
IP компьютера Linux "\\192.168.0.104" "OK"
6) В появившемся окне ввода имени и пароля, набрать домен и пароль???(В примере набрать
пользователя "nikolay" и пароль "5678". Для доступа в директорию
"/run/media/nikolay" необхадимо набрать "root" и его пароль "1234").
7) Подключаем принтер:
В открывшемся окне с подключенными папками и принтером, щёлкаем по принтеру.
Появляется окно с автоматическим подбором драйвера.
Если драйвер не находится, предлагается установить его вручную. Соглашаемся.
Появляется окно с набором драйверов.
Влевой части выбираем производителя (HP), вправой части необходимый драйвер
(HP LaserJet Professional 1102w).

Добавление пользователей

Добавим в БД SAMBA все рабочие станции. По умолчанию они будут
принадлежать группе "Domain Computers".

# net rpc user add comp1$ -U nikolay%5678
# net rpc user add comp2$ -U nikolay%5678
# net rpc user add comp3$ -U nikolay%5678

#
Добавим в БД SAMBA всех пользователей. По умолчанию они будут принадлежать группе "Domain Users".

# net rpc user add user1 -U nikolay%5678
# net rpc user add user2 -U nikolay%5678
# net rpc user add user3 -U nikolay%5678

#
Как было оговорено выше, в нашем домене будут две группы пользователей.
Обычные пользователи и менеджеры. Только менеджеры будут иметь доступ к ресурсу clients.
Сделаем менеджером пользователя user3. Для этого пользователю user3 необходимо сменить первичную группу с users
на nt_managers. Почему бы просто не добавить его в группу nt_managers?
Можно и так, но тогда невозможно будет сделать менеджерам отличные от обычных пользователей сетевые диски.
Дело в том, что для монтирования дисков SAMBA вызывает bat файл с названием именно первичной группы пользователя.
Как уже было сказано, по умолчанию первичная группа всех создаваемых пользователей это users.
Следовательно всем будут монтироваться одинаковые наборы дисков. Из за этого не нужно добавлять
пользователя в другую группу, нужно менять первичную.
Сменим первичную группу пользователя user3 на nt_managers, а потом пропишем его в обычные пользователи.

# usermod -g nt_managers user3
# net rpc group addmem "Domain Users" user3 -U nikolay%5678


# Проверим, сейчас у user3 первичная группа должна быть nt_managers, и дополнительная users

# groups user3
user3 : nt_managers users

Пользователям нужно присвоить начальные пароли:

# smbpasswd user1
# smbpasswd user2
# smbpasswd user3

Проверяем

Список всех групп

net rpc group -U nikolay%5678

Domain Admins
Domain Computers
Domain Users
Domain Guests
Managers

Список всех пользователей

net rpc user -U nikolay%5678

root
nikolay

Список администраторов (группа "Domain Admins")

net rpc group members "Domain Admins" -U nikolay%5678

QEMU\nikolay

Список обычных пользователей (группа "Domain Users")

net rpc group members "Domain Users" -U nikolay%5678

GENTOO\nikolay

Список пользователей-менеджеров (группа "Managers")

net rpc group members "Managers" -U nikolay%5678

Список компьютеров (группа "Domain Computers")

net rpc group members "Domain Computers" -U nikolay%5678

QEMU\server$
QEMU\gentoo$

Если какому то пользователю нужны дополнительные права, позже его можно добавить в локальную группу "Опытные пользователи"
следующей коммандой (также эту комманду, для каждого пользователя можно вызывать автоматически, см. smb.conf):
net rpc group addmem "Опытные пользователи"

"ASU\user_name" -S "user_comp" -Unikolay%5678

Список команд для управления демоном

Ниже собраны комманды используемые для управления доменом и получения о нем информации.
Чтобы не вводить новые названия, оставил их из примера.

1) Добавить/удалить сопоставление

net groupmap {add,delete} ntgroup="Managers" unixgroup=nt_managers

2) Добавить/удалить пользователя

net rpc user {add,delete} user1 -U nikolay%5678

3) Добавить/удалить компьютер

net rpc user {add,delete} comp1$ -U nikolay%5678

4) Добавить/убрать пользователя в доп. группу

net rpc group {addmem,delmem} "Managers" user1 -U nikolay%5678

5) Сменить основную группу пользователя

usermod -g nt_managers user3

6) Установить пароль для пользователя

smbpasswd user1

7) Ввести сервер в домен

net rpc join -Unikolay%5678

8) Проверить на вход в домен

net rpc testjoin

Join to 'QEMU' is OK

9) Добавить права определенной группе

net rpc rights grant "Domain Admins" SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege SeRestorePrivilege SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege -Uroot%1234

Информация

1) Список сопоставлений:

net groupmap list

2) Список всех пользователей

net rpc user -U nikolay%5678

3) Список всех групп

net rpc group -U nikolay%5678

4) Список пользователей принадлежащих определенной группе

net rpc group members "Managers" -U nikolay%5678

5) Список компьютеров (группа "Domain Computers")

net rpc group members "Domain Computers" -U nikolay%5678

6) Группы, которым принадлежит определенный пользователь

net rpc user info user3 -Unikolay%5678

7) Общая информация о домене

net rpc info -Unikolay%5678

samba сервер

Продаются
книги

Оставить отзыв

Установи и
БУДЕШЬ СЧАСТЛИВ!

Спасибо, Господи, что взял деньгами...

Scrooge
Dollar
Ruble
Ruble
Gold