SAMBA PDC - установка, настройка, управление
введение
В статье рассматривается создание и настройка первичного контроллера Windows-домена с несколькими расшаренными ресурсами и общим принтером. Администрирование домена будет осуществляться удаленно, через утилиту net. Приведенные ниже действия выполнялись на Slackware Linux 11, только с использованием пакетов, входящих в поставку дистрибутива. С небольшими отличиями это руководство может быть использовано на любом другом дистрибутиве.
Список ресурсов будущего сервера:
- docs – документация;
- distrib - дистрибутивы ПО;
- incoming - каталог для загрузки файлов на сервер обычными пользователями;
- clients - информация о клиентах (доступ только для определенной группы).
Пользователи, принадлежащие группе администраторов, будут иметь полный доступ к содержимому этих ресурсов. Обычные пользователи смогут только читать опубликованные на сервере файлы. Ресурс clients будет доступен только для пользователей, которые входят в группу "Менеджеры". При входе в домен всем пользователям будут корретироваться часы и монтироваться сетевые диски. Для обычных пользователей набор монтируемых ресурсов будет отличаться от набора для менеджеров. В нашем примере у них будет отстуствовать сетевой диск clients.
установка
Собственно, устанавливаем:
# installpkg samba-3.0.23c-i486-1.tgz
Делаем загрузочный скрипт исполняемым:
# chmod a+x /etc/rc.d/rc.samba
Создаем файл с конфигурацией:
# cp /etc/samba/smb.conf-sample /etc/samba/smb.conf
Наполняем следующим содержимым:
[global]
workgroup = ASU
netbios name = SERVER
server string = ASU SERVER
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
hosts allow = 192.168. 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 = /srv/samba/netlogon
read only = yes
browseable = no
Раскоментируйте строку ниже, если хотите чтобы пользователи на своих ПК были членами группы "Опытные пользователи" (сработает после 2-го входа пользователя в домен):
#root preexec = net rpc group addmem "Опытные пользователи" %u -S %m -Ubambucha%123 &
[incoming]
path = /srv/samba/incoming
writable = yes
create mask = 0775
directory mask = 0775
force group = users
[docs]
path = /srv/samba/docs
write list = @nt_admins
[distrib]
path = /srv/samba/distrib
write list = @nt_admins
[clients]
path = /srv/samba/clients
writable = yes
valid users = @managers
Создадим указанные директории
# mkdir -p /srv/samba/{netlogon,incoming,docs,distrib,clients}
В директории /srv/netlogon необходимо создать два файла nt_managers.bat и users.bat. Эти файлы будут выполняться одноименными группами пользователей при входе в домен. В них содержаться команды для монтирования сетевых дисков и синхронизации часов. В примере, между ними одно различие: обычным пользователям не будет монтироваться сетевой диск на ресурс clients.
# cat /srv/samba/netlogon/users.bat
net time \\SERVER /set /yes
net use x: \\SERVER\incoming
net use y: \\SERVER\docs
net use z: \\SERVER\distrib
# cat /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
Внимание: очень важно чтобы файлы были в Window'ой кодировке с DOS'овским окончанием строки (<CR><LF>). Самый лучший способ - создать их в «Блокноте» и затем закачть по FTP на сервер как бинарные данные (хотя можно открыть в vim'e сразу с преобразованием):
vim --cmd "edit ++enc=cp1251 ++ff=dos" -- /srv/samba/netlogon/nt_managers.bat)
настройка
Для директорий incoming и clients выставим другие права. Все пользователи домена должны иметь права на чтение/запись в директорию incoming. Для этого сменим группу этой директории на users и дадим членам этой группы права на запись.
# chgrp -R users /srv/samba/incoming
# chmod -R g+w /srv/samba/incoming
В директорию 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, пароль 123:
# smbpasswd -a root
Проверим чтобы в конфигурационном файле не было ошибок:
# testparm
Запускаем:
# /etc/rc.d/rc.samba start
Проверим, что демон samba успешно стартовал:
# ps ax | grep mbd
1778 ?Ss 0:00 /usr/sbin/smbd -D
1785 ?Ss 0:00 /usr/sbin/nmbd -D
1789 ?S0:00 /usr/sbin/smbd -D
6899 pts/2R+ 0:00 grep mbd
Пробуем подключиться и посмотреть на доступные сетевые ресурсы:
# smbclient -L localhost -Uroot%123
создание групп
Переходим к созданию групп пользователей. Cсоздадим необходимые Linux-группы, чтобы потом сопоставить их с аналогичными группами Windows. В Windows по умолчанию прописаны следующие основные группы: Guests, Users, 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;
Создадим пользователя bambucha, который будет администратором домена (первичная группа - nt_admins)
# useradd -m -c "Admin" -G nt_admins -g users bambucha
Добавим пользователя в БД SAMBA:
#smbpasswd -a bambucha
Как только создан пользователь-администратор, дальше, для управления доменом, в основном, будет использоваться утилита net. С ее помощью производятся все административные действия.
Проверим, добавился ли он в группу Domain Admins:
# net rpc group members "Domain Admins" -Ubambucha%123
ASU\bambucha
По умолчанию у группы Domain Admins нет никаких прав кроме назначать и удалять привелегии другим. Дадим группе Domain Admins все права
# net rpc rights grant "Domain Admins" SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege SeRestorePrivilege
SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege -Ubambucha%123
ввод в домен
Теперь можем ввести наш сервер в его же домен :)
# net rpc join -Ubambucha%123
Joined domain ASU.
Проверим:
# net rpc testjoin
Join to 'ASU' is OK
Посмотрим на общую картину домена
# net rpc info -Ubambucha%123
Domain Name: ASU
Domain SID: S-1-5-21-1896400801-767198480-4227753087
Sequence number: 1171055599
Num users: 1
Num domain groups: 5
Num local groups: 0
добавление пользователей
Добавим в БД SAMBA все рабочие станции. По умолчанию они будут принадлежать группе Domain Computers.
# net rpc user add comp1$ -U bambucha%123
# net rpc user add comp2$ -U bambucha%123
# net rpc user add comp3$ -U bambucha%123
Добавим в БД SAMBA всех пользователей. По умолчанию они будут принадлежать группе Domain Users.
# net rpc user add user1 -U bambucha%123
# net rpc user add user2 -U bambucha%123
# net rpc user add user3 -U bambucha%123
Как было оговорено выше, в нашем домене будут две группы пользователей - обычные пользователи и менеджеры. Только менеджеры будут иметь доступ к ресурсу 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 bambucha%123
Проверим, сейчас у user3 первичная группа должна быть nt_managers, и дополнительная users:
# groups user3
user3 : nt_managers users
Пользователям нужно присвоить начальные пароли:
# smbpasswd user1
# smbpasswd user2
# smbpasswd user3
проверка
Проверим:
1) список всех групп:
# net rpc group -U bambucha%123
Domain Users
Domain Computers
Domain Admins
Domain Guests
Managers
2) список всех пользователей:
# net rpc user -U bambucha%123
bambucha
user1
user2
user3
comp1$
comp2$
comp3$
3) список администраторов (группа Domain Admins):
# net rpc group members "Domain Admins" -U bambucha%123
ASU\bambucha
4) список обычных пользователей (группа Domain Users):
# net rpc group members "Domain Users" -U bambucha%123
ASU\user1
ASU\user2
ASU\user3
5) список пользователей-менеджеров (группа Managers):
# net rpc group members "Managers" -U bambucha%123
ASU\user3
6) список компьютеров (группа Domain Computers):
# net rpc group members "Domain Computers" -U bambucha%123
ASU\comp1$
ASU\comp2$
ASU\comp3$
Если какому то пользователю нужны дополнительные права, позже его можно добавить в локальную группу "Опытные пользователи" следующей коммандой (также эту комманду, для каждого пользователя можно вызывать автоматически, см. smb.conf):
# net rpc group addmem "Опытные пользователи" "ASU\user_name" -S "user_comp" -Ubambucha%123
установка принтера
Удаляем старый CUPS:
# removepkg cups
Копируем из директории Testing новый CUPS и устанавливаем:
# installpkg cups-1.2.4-i486-1.tgz
Если планируется подключать принтер HP, в поствке Slackware есть набор драйверов для этих принтеров (находиться в Testing). Устанавливаем:
# installpkg hplip-1.6.9-i486-1.tgz
Заменяем старый конфигурационный файл новым:
# mv /etc/cups/cupsd.conf.new /etc/cups/cupsd.conf
То же самое со стартовым скриптом, и делаем его исполняемым:
# mv /etc/rc.d/rc.cups.new /etc/rc.d/rc.cups
# chmod a+x /etc/rc.d/rc.cups
Открываем файл /etc/cups/cupsd.conf, ищем блоки:
<Location />
...
</Location>
<Location /admin>
...
</Location>
<Location /admin/conf>
...
</Location>
В каждый из этих блоков добавляем строку, разрешающую доступ к веб-интерфейсу CUPS с вашего ПК (в данном примере c ПК 192.168.226.1):
Allow From 192.168.226.1
Ищем строку:
Listen localhost:631
и меняем на
Listen *:631
то есть слушать соединения на всех интерфейсах.
Раздел /var должен быть смонтирован с поддержкой ACL. Для этого в файле /etc/fstab нужно найти строку с var-разделом, например:
/dev/sda6/var ext3defaults 1 2
и добавить при монтировании поддержку ACL:
/dev/sda6/var ext3defaults,acl 1 2
Перезагружаем ПК чтобы смонтировать /var с новой опцией.
В браузере открываем веб-интерфейс CUPSи по адресу http://192.168.226.1:631 (адрес компьютера на котором установлен CUPS-сервер) Дальше все должно быть просто. Переходим на вкладку Administration, жмем кнопку Add printer, вводим название будущего принтера, комментарий и краткие сведения где он физически находиться. Далее жмем Continue, выбираем к какому порту принтер подключен (для примера выбрал LPT), опять жмем Continue, выбираем производителя, марку принтера (если производитель отсутствует - ищем драйвер в интернете и загружаем с помощью кнопки Browse) и жмем кнопку Add printer. Все. Принтер установлен. Сейчас можно перейти на вкладку Printers, найти там установленный принтер и распечатать тестовую страницу (кнопка Print Test Page).
Перезагружаем samba.
Заходим в Windows (под Администратором или членом группы Domain Admins и устанавливаем принтер с samba. Все, теперь можно пробовать распечатать тестовую страницу из Windows.
CoderInside, впервые опубликовано на Воронежском Linux-портале
В статье рассматривается создание и настройка первичного контроллера Windows-домена с несколькими расшаренными ресурсами и общим принтером. Администрирование домена будет осуществляться удаленно, через утилиту net. Приведенные ниже действия выполнялись на Slackware Linux 11, только с использованием пакетов, входящих в поставку дистрибутива. С небольшими отличиями это руководство может быть использовано на любом другом дистрибутиве.
Список ресурсов будущего сервера:
- docs – документация;
- distrib - дистрибутивы ПО;
- incoming - каталог для загрузки файлов на сервер обычными пользователями;
- clients - информация о клиентах (доступ только для определенной группы).
Пользователи, принадлежащие группе администраторов, будут иметь полный доступ к содержимому этих ресурсов. Обычные пользователи смогут только читать опубликованные на сервере файлы. Ресурс clients будет доступен только для пользователей, которые входят в группу "Менеджеры". При входе в домен всем пользователям будут корретироваться часы и монтироваться сетевые диски. Для обычных пользователей набор монтируемых ресурсов будет отличаться от набора для менеджеров. В нашем примере у них будет отстуствовать сетевой диск clients.
установка
Собственно, устанавливаем:
# installpkg samba-3.0.23c-i486-1.tgz
Делаем загрузочный скрипт исполняемым:
# chmod a+x /etc/rc.d/rc.samba
Создаем файл с конфигурацией:
# cp /etc/samba/smb.conf-sample /etc/samba/smb.conf
Наполняем следующим содержимым:
[global]
workgroup = ASU
netbios name = SERVER
server string = ASU SERVER
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
hosts allow = 192.168. 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 = /srv/samba/netlogon
read only = yes
browseable = no
Раскоментируйте строку ниже, если хотите чтобы пользователи на своих ПК были членами группы "Опытные пользователи" (сработает после 2-го входа пользователя в домен):
#root preexec = net rpc group addmem "Опытные пользователи" %u -S %m -Ubambucha%123 &
[incoming]
path = /srv/samba/incoming
writable = yes
create mask = 0775
directory mask = 0775
force group = users
[docs]
path = /srv/samba/docs
write list = @nt_admins
[distrib]
path = /srv/samba/distrib
write list = @nt_admins
[clients]
path = /srv/samba/clients
writable = yes
valid users = @managers
Создадим указанные директории
# mkdir -p /srv/samba/{netlogon,incoming,docs,distrib,clients}
В директории /srv/netlogon необходимо создать два файла nt_managers.bat и users.bat. Эти файлы будут выполняться одноименными группами пользователей при входе в домен. В них содержаться команды для монтирования сетевых дисков и синхронизации часов. В примере, между ними одно различие: обычным пользователям не будет монтироваться сетевой диск на ресурс clients.
# cat /srv/samba/netlogon/users.bat
net time \\SERVER /set /yes
net use x: \\SERVER\incoming
net use y: \\SERVER\docs
net use z: \\SERVER\distrib
# cat /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
Внимание: очень важно чтобы файлы были в Window'ой кодировке с DOS'овским окончанием строки (<CR><LF>). Самый лучший способ - создать их в «Блокноте» и затем закачть по FTP на сервер как бинарные данные (хотя можно открыть в vim'e сразу с преобразованием):
vim --cmd "edit ++enc=cp1251 ++ff=dos" -- /srv/samba/netlogon/nt_managers.bat)
настройка
Для директорий incoming и clients выставим другие права. Все пользователи домена должны иметь права на чтение/запись в директорию incoming. Для этого сменим группу этой директории на users и дадим членам этой группы права на запись.
# chgrp -R users /srv/samba/incoming
# chmod -R g+w /srv/samba/incoming
В директорию 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, пароль 123:
# smbpasswd -a root
Проверим чтобы в конфигурационном файле не было ошибок:
# testparm
Запускаем:
# /etc/rc.d/rc.samba start
Проверим, что демон samba успешно стартовал:
# ps ax | grep mbd
1778 ?Ss 0:00 /usr/sbin/smbd -D
1785 ?Ss 0:00 /usr/sbin/nmbd -D
1789 ?S0:00 /usr/sbin/smbd -D
6899 pts/2R+ 0:00 grep mbd
Пробуем подключиться и посмотреть на доступные сетевые ресурсы:
# smbclient -L localhost -Uroot%123
создание групп
Переходим к созданию групп пользователей. Cсоздадим необходимые Linux-группы, чтобы потом сопоставить их с аналогичными группами Windows. В Windows по умолчанию прописаны следующие основные группы: Guests, Users, 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;
Создадим пользователя bambucha, который будет администратором домена (первичная группа - nt_admins)
# useradd -m -c "Admin" -G nt_admins -g users bambucha
Добавим пользователя в БД SAMBA:
#smbpasswd -a bambucha
Как только создан пользователь-администратор, дальше, для управления доменом, в основном, будет использоваться утилита net. С ее помощью производятся все административные действия.
Проверим, добавился ли он в группу Domain Admins:
# net rpc group members "Domain Admins" -Ubambucha%123
ASU\bambucha
По умолчанию у группы Domain Admins нет никаких прав кроме назначать и удалять привелегии другим. Дадим группе Domain Admins все права
# net rpc rights grant "Domain Admins" SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege SeRestorePrivilege
SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege -Ubambucha%123
ввод в домен
Теперь можем ввести наш сервер в его же домен :)
# net rpc join -Ubambucha%123
Joined domain ASU.
Проверим:
# net rpc testjoin
Join to 'ASU' is OK
Посмотрим на общую картину домена
# net rpc info -Ubambucha%123
Domain Name: ASU
Domain SID: S-1-5-21-1896400801-767198480-4227753087
Sequence number: 1171055599
Num users: 1
Num domain groups: 5
Num local groups: 0
добавление пользователей
Добавим в БД SAMBA все рабочие станции. По умолчанию они будут принадлежать группе Domain Computers.
# net rpc user add comp1$ -U bambucha%123
# net rpc user add comp2$ -U bambucha%123
# net rpc user add comp3$ -U bambucha%123
Добавим в БД SAMBA всех пользователей. По умолчанию они будут принадлежать группе Domain Users.
# net rpc user add user1 -U bambucha%123
# net rpc user add user2 -U bambucha%123
# net rpc user add user3 -U bambucha%123
Как было оговорено выше, в нашем домене будут две группы пользователей - обычные пользователи и менеджеры. Только менеджеры будут иметь доступ к ресурсу 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 bambucha%123
Проверим, сейчас у user3 первичная группа должна быть nt_managers, и дополнительная users:
# groups user3
user3 : nt_managers users
Пользователям нужно присвоить начальные пароли:
# smbpasswd user1
# smbpasswd user2
# smbpasswd user3
проверка
Проверим:
1) список всех групп:
# net rpc group -U bambucha%123
Domain Users
Domain Computers
Domain Admins
Domain Guests
Managers
2) список всех пользователей:
# net rpc user -U bambucha%123
bambucha
user1
user2
user3
comp1$
comp2$
comp3$
3) список администраторов (группа Domain Admins):
# net rpc group members "Domain Admins" -U bambucha%123
ASU\bambucha
4) список обычных пользователей (группа Domain Users):
# net rpc group members "Domain Users" -U bambucha%123
ASU\user1
ASU\user2
ASU\user3
5) список пользователей-менеджеров (группа Managers):
# net rpc group members "Managers" -U bambucha%123
ASU\user3
6) список компьютеров (группа Domain Computers):
# net rpc group members "Domain Computers" -U bambucha%123
ASU\comp1$
ASU\comp2$
ASU\comp3$
Если какому то пользователю нужны дополнительные права, позже его можно добавить в локальную группу "Опытные пользователи" следующей коммандой (также эту комманду, для каждого пользователя можно вызывать автоматически, см. smb.conf):
# net rpc group addmem "Опытные пользователи" "ASU\user_name" -S "user_comp" -Ubambucha%123
установка принтера
Удаляем старый CUPS:
# removepkg cups
Копируем из директории Testing новый CUPS и устанавливаем:
# installpkg cups-1.2.4-i486-1.tgz
Если планируется подключать принтер HP, в поствке Slackware есть набор драйверов для этих принтеров (находиться в Testing). Устанавливаем:
# installpkg hplip-1.6.9-i486-1.tgz
Заменяем старый конфигурационный файл новым:
# mv /etc/cups/cupsd.conf.new /etc/cups/cupsd.conf
То же самое со стартовым скриптом, и делаем его исполняемым:
# mv /etc/rc.d/rc.cups.new /etc/rc.d/rc.cups
# chmod a+x /etc/rc.d/rc.cups
Открываем файл /etc/cups/cupsd.conf, ищем блоки:
<Location />
...
</Location>
<Location /admin>
...
</Location>
<Location /admin/conf>
...
</Location>
В каждый из этих блоков добавляем строку, разрешающую доступ к веб-интерфейсу CUPS с вашего ПК (в данном примере c ПК 192.168.226.1):
Allow From 192.168.226.1
Ищем строку:
Listen localhost:631
и меняем на
Listen *:631
то есть слушать соединения на всех интерфейсах.
Раздел /var должен быть смонтирован с поддержкой ACL. Для этого в файле /etc/fstab нужно найти строку с var-разделом, например:
/dev/sda6/var ext3defaults 1 2
и добавить при монтировании поддержку ACL:
/dev/sda6/var ext3defaults,acl 1 2
Перезагружаем ПК чтобы смонтировать /var с новой опцией.
В браузере открываем веб-интерфейс CUPSи по адресу http://192.168.226.1:631 (адрес компьютера на котором установлен CUPS-сервер) Дальше все должно быть просто. Переходим на вкладку Administration, жмем кнопку Add printer, вводим название будущего принтера, комментарий и краткие сведения где он физически находиться. Далее жмем Continue, выбираем к какому порту принтер подключен (для примера выбрал LPT), опять жмем Continue, выбираем производителя, марку принтера (если производитель отсутствует - ищем драйвер в интернете и загружаем с помощью кнопки Browse) и жмем кнопку Add printer. Все. Принтер установлен. Сейчас можно перейти на вкладку Printers, найти там установленный принтер и распечатать тестовую страницу (кнопка Print Test Page).
Перезагружаем samba.
Заходим в Windows (под Администратором или членом группы Domain Admins и устанавливаем принтер с samba. Все, теперь можно пробовать распечатать тестовую страницу из Windows.
CoderInside, впервые опубликовано на Воронежском Linux-портале
Сетевые решения. Статья была опубликована в номере 06 за 2007 год в рубрике sysadmin