~~TOC:1-3 ~~
====== Smbldap-tools ======
Smbldap-tools это набор скриптов на [[perl:prel|Perl]] для [[#Управление пользователями|управления пользователями]] и [[#Управление группами|группами]] домена [[samba:samba|Samba]] в каталоге [[ldap:ldap|LDAP]].
Его могут использовать администраторы и пользователи Linux:
* администраторы могут осуществлять [[#Управление пользователями|управление пользователями]] и [[#Управление группами|управление группами]] как при использовании стандартных команд ''useradd'' и ''groupmod'';
* пользователи могут [[#smbldap-passwd|изменять пароль]], а также [[#smbldap-userinfo|персональные данные]].
https://gna.org/projects/smbldap-tools/
----
За основу этой статьи взят материал из источника: [[http://samba-doc.ru/smbldap/smbldap.html|J.erome Tournier - Smbldap-tools. Руководство пользователя (Перевод Тренин Сергей, аkа greyzy Версия : 1.7, от 22 апреля, 2008)]].
Оригинал на английском языке: {{:smbldap-tools:smbldap-tools.pdf|Smbldap-tools User Manual (Release: 0.9.3 ) Jérôme Tournier (Revision: 1.7 , generated April 22, 2008)}}, он взят из пакета [[https://packages.debian.org/jessie/smbldap-tools|smbldap-tools (0.9.9-1)]]
{{smbldap-tools_0.9.9-1_all.deb|}}, [[http://http.us.debian.org/debian/pool/main/s/smbldap-tools/smbldap-tools_0.9.9-1_all.deb|оригинал]]
\\ [[pkg.deb>smbldap-tools|DEB-пакеты]]
====== Установка ======
apt-get install smbldap-tools
====== Настройка ======
Рекомендуемый порядок настройки:
- [[#Создание структуры каталога|Создание структуры каталога]]
- [[#smbldap.conf|Общие параметры: smbldap.conf]]
- [[#smbldap_bind.conf|Доступ администратора к серверу LDAP: smbldap_bind.conf]]
- [[#Samba|Настройка Samba]]
===== Создание структуры каталога =====
Вы можете сделать начальную структуру LDAP каталога, используя скрипт [[#smbldap-populate|smbldap-populate]]. Чтобы сделать это, проверьте, что учетная запись, описанная в файле [[#smbldap_bind.conf|smbldap_bind.conf]], которая имеет полномочия для связи с первичный LDAP сервером, так же является административной учетной записью вашего LDAP каталога.
==== smbldap-populate ====
Ключи, которые могут быть использованы при запуске скрипта представлены в таблице:
^ Ключ ^ Описание действия ключа ^ Значение по умолчанию ^
|-u uidNumber|первый uidNumber, который будет назначен|1000|
|-g gidNumber| первый gidNumber, который будет назначен|1000|
|-a user|Логин администратора|Administrator|
|-b user|Логин гостя|nobody|
|-e file|Экспорт файла инициализации| |
|-i file|Импорт файла инициализации| |
В большинстве случаев для построения структуры LDAP каталога достаточно выполнить команду:
smbldap-populate
Using builtin directory structure
Using the smbldap-tools scripts Revision : 1.7
adding new entry: dc=idealx,dc=com
adding new entry: ou=Users,dc=idealx,dc=com
adding new entry: ou=Groups,dc=idealx,dc=com
adding new entry: ou=Computers,dc=idealx,dc=com
adding new entry: ou=Idmap,dc=idealx,dc=org
adding new entry: cn=NextFreeUnixId,dc=idealx,dc=org
adding new entry: uid=Administrator,ou=Users,dc=idealx,dc=com
adding new entry: uid=nobody,ou=Users,dc=idealx,dc=com
adding new entry: cn=Domain Admins,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Domain Users,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Domain Guests,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Print Operators,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Backup Operators,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Replicator,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Domain Computers,ou=Groups,dc=idealx,dc=com
FIXME
После этого шага, если вы больше не хотите использовать учетную запись ''cn=Manager,dc=idealx,dc=com'', вы можете создать специальную учетную запись для Samba и ''smbldap-tools''. Для подробностей см. [[#Изменение административной учетной записи|Изменение административной учетной записи]].
Строка ''cn=NextFreeUnixId,dc=idealx,dc=org'' используется только для присвоения номеров ''uidNumber'' и ''gidNumber'' при создании новых пользователей и групп. По умолчанию нумерация (см. таб. 1) начинается с номера 1000. Для изменения этого числа используются ключи ''–u'' и ''–g''. Например, если вы хотите, чтобы нумерация начиналась с числа 1500, при создании структуры каталога используйте такую команду:
smbldap-populate -u 1500 -g 1500
==== Изменение административной учетной записи ====
FIXME
Изменение административной учетной записи (ldap admin dn в файле smb.conf)
Если вы больше не хотите использовать учетную запись, описанную атрибутами cn=Manager,dc=idealx,dc=com, вы можете создать специальную учетную запись для сервера Samba и набора скриптов smbldap-tools. Чтобы сделать это, заведем пользователя с именем, например samba при помощи следующей команды (для подробностей в синтаксисе данной команды обратитесь к п. 4.2.1):
smbldap-useradd -s /bin/false -d /dev/null -P samba
После ввода этой команды вам будет предложено ввести пароль для создаваемого пользователя, в нашем примере он тоже будет samba.
После этого измените соответствующим образом файл
slaveDN="uid=samba,ou=Users,dc=idealx,dc=com"
slavePw="samba"
masterDN="uid=samba,ou=Users,dc=idealx,dc=com"
masterPw="samba"
ldap admin dn = uid=samba,ou=Users,dc=idealx,dc=com
Не забудьте после этого записать пароль в файл secrets.tdb:
smbpasswd -w samba
FIXME в файле /etc/openldap/slapd.conf вам стоит добавить полномочий пользователю samba
===== smbldap.conf =====
FIXME
Переменные заданные в этом файле доступны для просмотра всем.
chmod 644 /etc/smbldap-tools/smbldap.conf
=== SID ===
Идентификатор домена.
SID="S-1-5-21-3703471949-3718591838-2324585696"
Можно получить SID, используя команду (сервер Samba при этом должен быть запущен):
net getlocalsid
=== sambaDomain ===
Имя домена Samba
=== masterLDAP ===
Адрес основного LDAP сервера
masterLDAP="127.0.0.1"
=== masterPort ===
Порт основного LDAP сервера
masterPort="389"
=== slaveLDAP ===
Адрес подчинённого LDAP сервера, нужно указать DNS имя или IP адрес
slaveLDAP="127.0.0.1"
=== slavePort ===
Порт подчинённого LDAP сервера
slavePort="389"
=== ldapTLS ===
Указание на использование TLS соединение для связи с LDAP серверами
ldapTLS="1"
=== verify ===
Тип проверки сертификата (none, optional, require).
verify="require"
Подробнее см. [[http://search.cpan.org/~marschap/perl-ldap/lib/Net/LDAP.pod#start_tls|Net::LDAP, секция start tls section]]
=== cafile ===
Файл формата ''PEM'', включающий сертификат для ''CA'' которым будут доверять LDAP серверы.
cafile="/etc/smbldap-tools/ca.pem"
=== clientcert ===
Файл, содержащий клиентский сертификат.
clientcert="/etc/smbldap-tools/smbldap-tools.iallanis.com.pem"
=== clientkey ===
Файл, содержащий приватный ключ, который соответствует клиентскому сертификату.
clientkey="/etc/smbldap-tools/smbldap-tools.iallanis.com.key"
=== suffix ==
Корень в БД LDAP
suffix="dc=idealx,dc=com"
=== usersdn ===
Ветвь с записями о пользователях, эта ветвь не связана со значением ''[[#suffix|suffix]]''.
usersdn="ou=Users,${suffix}"
=== computersdn ===
Ветвь с записями о компьютерах, эта ветвь не связана со значением ''[[#suffix|suffix]]''.
computersdn="ou=Computers,${suffix}"
=== groupsdn ===
Ветвь с записями о группах, эта ветвь не связана со значением ''[[#suffix|suffix]]''.
groupsdn="ou=Groups,${suffix}"
=== idmapdn ===
Ветвь с записями Idmap (используется, если сервер Samba является членом домена), эта ветвь не связана со значением ''[[#suffix|suffix]]''.
idmapdn="ou=Idmap,${suffix}"
=== sambaUnixIdPooldn ===
Параметр, описывающий где хранятся следующие свободные ''uidNumber'' и ''gidNumber'', эта ветвь не связана со значением ''[[#suffix|suffix]]''.
sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
=== scope ==
Область поиска.
scope="sub"
=== hash encrypt ===
Способ хэширования паролей пользователей
hash encrypt="SSHA"
Этот параметр используется для хранения паролей unix и связан с параметром ''userPassword''
=== crypt salt format ===
crypt salt format="%s"
Если у параметра ''[[#hash encrypt|hash encrypt]]'' установлено значение ''CRYPT'', вы можете установить тип шифрования ''salt''
По умолчанию используется значение ''%s'', но большинство систем способны генерировать пароль с хэшированием ''MD5'', если вы установите ''$1$%.8s''
Это не обязательный параметр.
=== userLoginShell ===
Оболочка пользователя по умолчанию.
userLoginShell="/bin/bash"
Значение хранится в атрибуте ''loginShell''
=== userHome ===
Путь к домашней папке пользователя.
userHome="/home/%U"
Значение хранится в атрибуте ''homeDirectory''
=== userGecos ===
Описание учётной записи пользователя unix
userGecos="System User"
=== defaultUserGid ===
по умолчанию основная группа для учётных записей пользователей.
defaultUserGid="513"
Значение хранится в атрибуте ''gidNumber''
=== defaultComputerGid ==
по умолчанию основная группа для компьютеров
defaultComputerGid="550"
Значение хранится в атрибуте ''gidNumber''
=== skeletonDir ===
место, где находится «скелетная» директория, являющаяся шаблоном для директорий пользователей.
skeletonDir="/etc/skel"
Этот параметр используется лишь в том случае, если вы явно укажете домашнюю папку пользователя в ходе создания нового пользователя.
=== defaultMaxPasswordAge ===
Параметр задаёт, через какое время (в днях) должен быть изменён пароль пользователя
defaultMaxPassword="55"
=== userProfile ===
Общий ресурс Samba для хранения профилей пользователей
userProfile="\\PDC-SMB3\profiles\%U"
Значение хранится в атрибуте ''sambaProfilePath''
=== userHomeDrive ===
Буква диска, использующаяся в Windows для назначения домашней папки.
userHomeDrive="K:"
=== userScript ===
по умолчанию имя скрипта, использующегося при входе пользователя в систему.
Если не определено, автоматически будет использоваться скрипт ''username.cmd'' userScript="%U"
значение хранится в атрибуте ''sambaProfilePath''
=== mailDomain ===
Домен, добавляемый к атрибуту пользователя ''mail''.
mailDomain="idealx.org"
=== with smbpasswd ===
Параметр, устанавливающий, будет ли использоваться команда ''smbpasswd'' для установки пароля пользователя Samba (вместо утилиты ''mkntpwd'').
with smbpasswd="0"
значение может быть 0 или 1.
=== smbpasswd ===
Путь, по которому находится программа ''smbpasswd''.
smbpasswd="/usr/bin/smbpasswd"
=== with slappasswd ===
Параметр, устанавливающий, будет ли использоваться команда ''slappasswd'' для установки пароля пользователя Unix (вместо утилиты ''Crypt:: librairies'')
with smbpasswd="0"
Значение может быть 0 или 1.
=== slappasswd ===
Путь, по которому находится ''slappasswd''.
smbpasswd="/usr/sbin/slappasswd"
# $Id: smbldap.conf 139 2012-08-07 11:11:37Z fumiyas $
#
# smbldap-tools.conf : Q & D configuration file for smbldap-tools
# This code was developped by IDEALX (http://IDEALX.org/) and
# contributors (their names can be found in the CONTRIBUTORS file).
#
# Copyright (C) 2001-2002 IDEALX
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
# USA.
# Purpose :
# . be the configuration file for all smbldap-tools scripts
##############################################################################
#
# General Configuration
#
##############################################################################
# Put your own SID. To obtain this number do: "net getlocalsid".
# If not defined, parameter is taking from "net getlocalsid" return
SID="S-1-5-21-2252255531-4061614174-2474224977"
# Domain name the Samba server is in charged.
# If not defined, parameter is taking from smb.conf configuration file
# Ex: sambaDomain="IDEALX-NT"
sambaDomain="DOMSMB"
##############################################################################
#
# LDAP Configuration
#
##############################################################################
# Notes: to use to dual ldap servers backend for Samba, you must patch
# Samba with the dual-head patch from IDEALX. If not using this patch
# just use the same server for slaveLDAP and masterLDAP.
# Those two servers declarations can also be used when you have
# . one master LDAP server where all writing operations must be done
# . one slave LDAP server where all reading operations must be done
# (typically a replication directory)
# Slave LDAP server URI
# Ex: slaveLDAP=ldap://slave.ldap.example.com/
# If not defined, parameter is set to "ldap://127.0.0.1/"
slaveLDAP="ldap://ldap.example.com/"
# Master LDAP server URI: needed for write operations
# Ex: masterLDAP=ldap://master.ldap.example.com/
# If not defined, parameter is set to "ldap://127.0.0.1/"
masterLDAP="ldap://ldap.example.com/"
# Use TLS for LDAP
# If set to 1, this option will use start_tls for connection
# (you must also used the LDAP URI "ldap://...", not "ldaps://...")
# If not defined, parameter is set to "0"
ldapTLS="1"
# How to verify the server's certificate (none, optional or require)
# see "man Net::LDAP" in start_tls section for more details
verify="require"
# CA certificate
# see "man Net::LDAP" in start_tls section for more details
cafile="/etc/smbldap-tools/ca.pem"
# certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
clientcert="/etc/smbldap-tools/smbldap-tools.example.com.pem"
# key certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
clientkey="/etc/smbldap-tools/smbldap-tools.example.com.key"
# LDAP Suffix
# Ex: suffix=dc=IDEALX,dc=ORG
suffix="dc=example,dc=com"
# Where are stored Users
# Ex: usersdn="ou=Users,dc=IDEALX,dc=ORG"
# Warning: if 'suffix' is not set here, you must set the full dn for usersdn
usersdn="ou=Users,${suffix}"
# Where are stored Computers
# Ex: computersdn="ou=Computers,dc=IDEALX,dc=ORG"
# Warning: if 'suffix' is not set here, you must set the full dn for computersdn
computersdn="ou=Computers,${suffix}"
# Where are stored Groups
# Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG"
# Warning: if 'suffix' is not set here, you must set the full dn for groupsdn
groupsdn="ou=Groups,${suffix}"
# Where are stored Idmap entries (used if samba is a domain member server)
# Ex: idmapdn="ou=Idmap,dc=IDEALX,dc=ORG"
# Warning: if 'suffix' is not set here, you must set the full dn for idmapdn
idmapdn="ou=Idmap,${suffix}"
# Where to store next uidNumber and gidNumber available for new users and groups
# If not defined, entries are stored in sambaDomainName object.
# Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"
# Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"
# Default scope Used
scope="sub"
# Unix password hash scheme (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)
# If set to "exop", use LDAPv3 Password Modify (RFC 3062) extended operation.
password_hash="SSHA"
# if password_hash is set to CRYPT, you may set a salt format.
# default is "%s", but many systems will generate MD5 hashed
# passwords if you use "$1$%.8s". This parameter is optional!
password_crypt_salt_format="%s"
##############################################################################
#
# Unix Accounts Configuration
#
##############################################################################
# Login defs
# Default Login Shell
# Ex: userLoginShell="/bin/bash"
userLoginShell="/bin/bash"
# Home directory
# Ex: userHome="/home/%U"
userHome="/home/%U"
# Default mode used for user homeDirectory
userHomeDirectoryMode="700"
# Gecos
userGecos="System User"
# Default User (POSIX and Samba) GID
defaultUserGid="513"
# Default Computer (Samba) GID
defaultComputerGid="515"
# Skel dir
skeletonDir="/etc/skel"
# Treat shadowAccount object or not
shadowAccount="1"
# Default password validation time (time in days) Comment the next line if
# you don't want password to be enable for defaultMaxPasswordAge days (be
# careful to the sambaPwdMustChange attribute's value)
defaultMaxPasswordAge="45"
##############################################################################
#
# SAMBA Configuration
#
##############################################################################
# The UNC path to home drives location (%U username substitution)
# Just set it to a null string if you want to use the smb.conf 'logon home'
# directive and/or disable roaming profiles
# Ex: userSmbHome="\\PDC-SMB3\%U"
userSmbHome="\\PDC-SRV\%U"
# The UNC path to profiles locations (%U username substitution)
# Just set it to a null string if you want to use the smb.conf 'logon path'
# directive and/or disable roaming profiles
# Ex: userProfile="\\PDC-SMB3\profiles\%U"
userProfile="\\PDC-SRV\profiles\%U"
# The default Home Drive Letter mapping
# (will be automatically mapped at logon time if home directory exist)
# Ex: userHomeDrive="H:"
userHomeDrive="H:"
# The default user netlogon script name (%U username substitution)
# if not used, will be automatically username.cmd
# make sure script file is edited under dos
# Ex: userScript="startup.cmd" # make sure script file is edited under dos
userScript="logon.bat"
# Domain appended to the users "mail"-attribute
# when smbldap-useradd -M is used
# Ex: mailDomain="idealx.com"
mailDomain="example.com"
##############################################################################
#
# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)
#
##############################################################################
# Allows not to use smbpasswd (if with_smbpasswd="0" in smbldap.conf) but
# prefer Crypt::SmbHash library
with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"
# Allows not to use slappasswd (if with_slappasswd="0" in smbldap.conf)
# but prefer Crypt:: libraries
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"
# comment out the following line to get rid of the default banner
# no_banner="1"
===== smbldap_bind.conf =====
FIXME
Этот файл должен быть доступен для просмотра только суперпользователю. Файл используется при модификации базы данных LDAP каталога, он включает имя пользователя и его пароль, который имеет право подключаться к первичному и вторичному LDAP каталогу.
chmod 600 /etc/smbldap-tools/smbldap_bind.conf
=== slaveDN ===
Отличительное имя, используемое для связи с вторичным сервером LDAP
Пример 1
slaveDN="cn=Manager,dc=idealx,dc=com"
Пример 2: slaveDN=""
Это может быть административная учетная запись каталога или другая учетная запись LDAP, которая имеет достаточные права для чтения всего каталога (база данных вторичного сервера используется только для чтения). Анонимные подключения подключаются, как показано в примере 2.
=== slavePw ===
Пароль для доступа к вторичному серверу LDAP.
Пример 1:
slavePw="secret"
Пример 2:
slavePw=""
Пароль должен быть записан в незашифрованном виде. Файл должен быть доступен для чтения только суперпользователю ''root''! Анонимные подключения настраиваются по примеру 2.
=== masterDN ===
Отличительное имя, используемое для связи с первичным сервером LDAP
masterDN="cn=Manager,dc=idealx,dc=com"
это может быть административная учётная запись каталога или другая учётная запись LDAP, который имеет достаточные права для внесения изменений в базу данных LDAP. Анонимный доступ к первичному серверу не допускается.
=== masterPw ===
Пароль пользователя с административными полномочиями masterPw="secret"
пароль должен быть записан в незашифрованном виде. Еще раз убедитесь, что доступ к файлу не имеют те, кто его не должен иметь.
=== Пример файла ===
# $Id: smbldap_bind.conf 35 2011-02-23 09:07:36Z fumiyas $
#
############################
# Credential Configuration #
############################
# Notes: you can specify two differents configuration if you use a
# master ldap for writing access and a slave ldap server for reading access
# By default, we will use the same DN (so it will work for standard Samba
# release)
slaveDN="cn=Manager,dc=example,dc=com"
slavePw="secret"
masterDN="cn=Manager,dc=example,dc=com"
masterPw="secret"
===== Samba =====
FIXME
Настройка [[samba:samba|Samba]]
Это позволит администраторам добавлять, удалять или изменять группы и учетные записи пользователей операционной системы MS Windows, используя для этого, например, ''Диспетчер пользователей''.
[global]
#ldap delete dn = Yes
add user script = /usr/sbin/smbldap-useradd -m '%u' -t 1
rename user script = /usr/sbin/smbldap-usermod -r '%unew' '%uold'
delete user script = /usr/sbin/smbldap-userdel '%u'
set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
add group script = /usr/sbin/smbldap-groupadd -p '%g'
delete group script = /usr/sbin/smbldap-groupdel '%g'
add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g'
delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g'
add machine script = /usr/sbin/smbldap-useradd -W '%u'
====== Управление пользователями ======
* [[#smbldap-useradd|Добавление: smbldap-useradd]]
* [[#smbldap-userdel|Удаление: smbldap-userdel]]
* [[#smbldap-userinfo|Изменение персональных данных: smbldap-userinfo]]
* [[#smbldap-usermod|Изменение основных данных: smbldap-usermod]]
* smbldap-userlist
* smbldap-usershow
* [[#smbldap-passwd|Изменение пароля: smbldap-passwd]]
===== smbldap-useradd =====
FIXME
Добавление пользователей
Для добавления пользователей используется скрипт ''smbldap-useradd''. Ключи, которые могут быть использованы при его запуске, представлены в таблице.
Пояснение: в четвертой колонке есть строки со значениями, которые начинаются с символа ''$''. Значения таких ключей, если не назначены специально, берутся из файла [[#smbldap.conf|smbldap.conf]] (с указанием секции этого файла).
^ Ключ ^ Описание действия ключа ^ Пример ^ Значение по умолчанию ^
|''-a''|Создать учетную запись Windows, без ключа будет создан Posix-аккаунт| | |
|''-w''|Создать учетную запись рабочей станции Windows| | |
|''-i''|Создать учетную запись пользователя домена, с которым установлено доверие, подробности см. [[#Добавление пользователя доверенного домена|Добавление пользователя доверенного домена]]| | |
|''-u''|Назначить ''uid''|-u 1003
|Первый из доступных ''uid''|
|''-g''|Назначить ''gid''|-g 1003
|Первый из доступных ''gid''|
|''-G''|Добавить нового пользователя в одну или несколько (разделитель запятая) групп, группа задаются по номеру.|-G 512,550
|Без ключа –G все созданные пользователь попадают в группу 513|
|''-d''|Назначить домашнюю папку|-d /var/user
|$userHomePrefix /user
|
|''-s''|Назначить оболочку (login shell)|-s /bin/ksh
|$userLoginShell
|
|''-c''|Добавить описание пользователя (gecos)|-c "admin user"
|$userGecos
|
|''-m''|Создать домашнюю папку пользователя и скопировать туда информацию из папки| /etc/skel/
|
|''-k''|Назначить папку с «скелетом» (используется без ключа -m)|-k /etc/skel2
|$skeletonDir
|
|''-P''|По окончании обратится к скрипту [[#smbldap-passwd|smbldap-passwd]] для установки пароля пользователя| |
|''-A''|Установить, имеет ли право пользователь изменять пароль, 0=нет, 1=да|-А 1
|
|''-B''|Установить, должен ли пользователь изменить свой пароль после первого входа в систему, 0=нет, 1=да|-B 0
|
|''-C''|Назначить домашнюю папку Samba|-С \\PDC\homes
|$userSmbHome
|
|''-D''|Установить букву диска, монтирующегося при входе пользователя в систему|-D H:
|$userHomeDrive
|
|''-E''|Установить скрипт, который будет выполняться при входе пользователя в систему|- E common.bat
|$userScript
|
|''-F''|Задать папку с профилем пользователя|-F \\PDC\profiles\user
|$userProfile
|
|''-H''|Установить флаг учётной записи Samba, подробнее см. [[samba:samba#sambaAcctFlags|sambaAcctFlags]]|-H [X]
Например, флаг ''D'' означает, что учётная запись отключена, прим.перев.|
|''-N''|Установить реальное имя пользователя| |
|''-S''|Установить фамилию пользователя| |
|''-M''|Локальный электронный почтовый ящик (несколько записываются через запятую)|-M testuser,aliasuser
|
|''-T''|Непосредственный электронный почтовый ящик (несколько записываются через запятую)|-T testuser@domain.org
|
Например, если вы хотите создать пользователя с именем ''user_admin'', который:
* будет являться пользователем Windows
* должен входить в группу с ''gid=512'' (Domain Admins);
* не иметь оболочки входа (login shell);
* домашняя папка ''/dev/null'';
* не иметь перемещаемого профиля;
* и которому при создании мы установим пароль.
то следует ввести команду:
smbldap-useradd -a -G 512 -m -s /bin/false -d /dev/null -F "" -P user_admin
Ещё несколько примеров (из Интернет, прим.перев.):
smbldap-useradd –a –m –M pupkin –c "vasya pupkin" pupkin
smbldap-useradd -a –c "Serg Alex Lad" -N "Serg Alex" -S "Lad" -s /bin/bash ladserg
==== Добавление пользователя доверенного домена ====
Пример добавления учётной записи доверенного домена на контроллере домена ''trust-pdc'':
smbldap-useradd -i trust-pdc
Вывод команды:
New password : *******
Retype new password : *******
Работа скрипта будет окончена после запроса на ввод пароля доверенного пользователя. Учетная запись будет создан в том месте каталога, где хранятся записи обо всех компьютерах (по умолчанию это ou=Computers). Таким образом, у этой учётной записи две особенности, это установка пароля для него, и флаг ''[I ]'', подробнее см. [[samba:samba#sambaAcctFlags|sambaAcctFlags]].
===== smbldap-userdel =====
Удаление пользователя.
Например, если вы хотите удалить пользователя user1 из LDAP каталога, и если вы также хотите удалить его домашнюю папку, выполните команду:
smbldap-userdel -r user1
=== -r ===
Удалить домашнюю папку без подтверждения.
=== -R ===
Удалить домашнюю папку в диалоговом режиме
===== smbldap-usermod =====
Внесение изменений в учетную запись пользователя
Для внесения изменений в учетную запись пользователя используется скрипт smbldap-usermod. Ключи, используемые с этим скриптом, вынесены в таблицу:
^ Ключ ^ Описание действия ключа ^ Пример ^
|''-c''|Добавить описание пользовательской учетной записи|-c "admin user"
|''-d''|Назначить домашнюю директорию|-d /var/user
|
|''-u''|Назначить ''uid''|-u 1003
|
|''-g''|Назначить ''gid''|-g 1003
|
|''-G''|Добавить новую учетную запись в одну или несколько групп или удалить пользователя из группы (несколько записываются через запятую)|-G 512,550
-G -512,550
-G +512,550
|
|''-s''|Назначить оболочку (login shell)|-s /bin/ksh
|
|''-N''|Установить реальное имя пользователя| |
|''-S''|Установить фамилию пользователя| |
|''-P''|По окончании обратится к скрипту [[#smbldap-passwd|smbldap-passwd]] для установки пароля пользователя| |
|''-a''|Добавить класс объекта (objectClass) ''sambaSAMaccount''| |
|''-e''|Установить дату истечения срока действия пароля пользователя (формат: ''ГГГГ-ММ-ДД ЧЧ:ММ:СС'')| |
|''-A''|Устанавливает, имеет ли право пользователь изменять пароль, 0 – нет, 1 - да| |
|''-B''|Устанавливает, должен ли пользователь изменить свой пароль после первого входа в систему, 0 – нет, 1 - да| |
|''-C''|Назначить домашнюю папку Samba|-С \\PDC\homes
-С ""
|
|''-D''|Установить букву диска, монтирующегося при входе пользователя в систему|-D H:
|''-E''|Установить скрипт, который будет выполняться при входе пользователя в систему|- E common.bat
|
|''-F''|Задать директорию с профилем пользователя|-F \\PDC\profiles\user
|
|''-H''|Установить флаг учетной записи Samba, подробнее см. [[samba:samba#sambaAcctFlags|sambaAcctFlags]]|-H [X]
|
|''-I''|Отключить учетную запись пользователя|-I 1
|
|''-J''|Включить учетную запись пользователя|-J 1
|
|''-w''|Создать учетную запись рабочей станции Windows| |
|''-i''|Создать учетную запись пользователя домена, с которым установлено доверие, подробности см. [[#Добавление пользователя доверенного домена|Добавление пользователя доверенного домена]]| |
|''-M''|Локальный электронный почтовый ящик (несколько записываются через запятую)|-M testuser,aliasuser
|
|''-T''|Непосредственный электронный почтовый ящик (несколько записываются через запятую)|-T testuser@domain.org
|
===== smbldap-userinfo =====
FIXME
Наряду с этим, для внесения некоторых изменений в учетные данные, используется скрипт ''smbldap-userinfo''. Ключи, используемые с этим скриптом, вынесены в таблицу. Этот скрипт может быть использован самими пользователями для внесения некоторых данных в их учетную запись (ACL должен быть должным образом настроен на сервере каталогов).
^ Ключ ^ Описание действия ключа ^ Пример ^
|''-f''|Задать полное имя пользователя|-f MyName
|
|''-r''|Задать номер кабинета -r 99
|
|''-w''|Задать номер рабочего телефона |-w 1111111
|
|''-h''|Задать номер домашнего телефона|-h 2222222
|
|''-o''|Записать другую информацию (''gecos'')|-o "second stage"
|
|''-s''|Задать оболочку по умолчанию|-s /bin/ksh
|
===== smbldap-passwd =====
Изменение пароля пользователя.
Если ключи не указаны, то будут изменены оба пароля Samba и UNIX:
smbldap-passwd user1
=== -s ===
Изменить только пароль Samba
-s user1
=== -u ===
Изменить только пароль UNIX.
-u user1
====== Управление группами ======
* [[#smbldap-groupadd|Создание: smbldap-groupadd]]
* [[#smbldap-groupdel|Удаление: smbldap-groupdel]]
* smbldap-grouplist
* smbldap-groupmod
* smbldap-groupshow
===== smbldap-groupadd =====
Создание групп
Для добавления новой группы в LDAP каталог используется скрипт ''smbldap-groupadd''.
Например, так вы можете создать группу ''group1'' и поместить в нее ранее созданного пользователя ''user1'':
smbldap-groupadd –a group1
smbldap-usermod –G +group1 user1
=== -a ===
Добавить группу и автоматически установить соответствие (mapping)
=== -g gid ===
Установить gidNimber для группы
-g 1002
== -o ===
FIXME
''gidNimber'' не будет уникальным
=== -r group-rid ===
Установить ''rid'' группы
-r 1002
=== -s group-sid ===
Установить ''sid'' группы
-s S-1-5-21-3703471949-3718591838-2324585696-1002
=== -t group-type ===
Установить ''[[samba:samba#sambaGroupType|sambaGroupType]]''
-t 2
=== -p ===
Вывести gidNimber на экран
====== Ссылки ======
[[http://download.gna.org/smbldap-tools/docs/samba-ldap-howto/|The Linux Samba-OpenLDAP Howto]]
[[http://samba-doc.ru/smbldap/smbldap.html|Smbldap-tools. Руководство пользователя]]
{{tag>Admin Samba Linux}}