Рубрика: SAMBA
как в Linux добавить строку в конец файла без его открытия в редакторе?
часто когда настраиваешь Linux компьютер требуется добавить в конец разных файлов строку (или несколько) с настройками. Это можно сделать не открывая файл в редакторе, тем более обычно рекомендуют открывать файл в редакторе vi или nano.
НО ведь новичок, да и не новичок в Linux не знает комбинации клавиш в этих консольных редакторах. Кроме того и действий требуется лишнего.
Вместо этого можно:
не входит в samba сервер с компьютера windows
указать в файле smb.conf вмеcто
security = user
security = share
SAMBA и пользователи
sudo pdbedit -L — вывести список пользователей, которые есть в SAMBA
sudo smbpasswd -a vova — добавить в SAMBA пользователя с именем vova
sudo pdbedit -L -v — просмотр расширенной информации о пользователях SAMBA
tvs@TVS-Laptop:~$ sudo pdbedit -L -v
[sudo] password for tvs:
—————
Unix username: root
NT username:
Account Flags: [NDU ]
User SID: S-1-5-21-5788*********************************
Primary Group SID: S-1-5-21-****************************
Full Name: root
Home Directory: \\tvs-laptop\root
HomeDir Drive:
Logon Script:
Profile Path: \\tvs-laptop\root\profile
Domain: TVS-comp
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: 0
Password can change: 0
Password must change: 0
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
как найти значение из одного файла (IP адрес) в другом файле (IP пробел имя пользователя)
BASH + AWK — поиск содержимого одного файла в другом и вывод значения рядом с ним
Это мне понадобилось, чтобы решить задачу смены пароля пользователя Samba через подключение Putty. При этом у меня есть файл содержащий соответствия IP адресов и логинов пользователей (у меня система такая: один компьютер — один пользователь).
<strong>cat '/home/tvs/scripting/15.txt' | while read LINE ; do awk "/^$LINE\ /{print \$2}" '/home/tvs/scripting/userip.txt'; done</strong>
разберем этот скрипт:
cat ‘/home/tvs/scripting/15.txt’ — вывести содержимое файла 15.txt
while read LINE ; # в конвеере на вход команды BASH чтения строк из конвеера:
do # начало действий цикла BASH
awk «/^$LINE\ /{print \$2}» ‘/home/tvs/scripting/userip.txt’;
done # конец действий цикла BASH
/^ — ^ это спецсимвол, поэтому он экранируется с помощью символа /
$LINE — переменная куда была считана строка с помощью while read LINE (строка из файла /home/tvs/scripting/15.txt)
/{print \$2}» — вывод значения 2го столбца файла /home/tvs/scripting/userip.txt
/{ — экранирование спецсимвола {, чтобы сказать что это относится к AWK, а не BASH
\$2} — экранирование спецсимвола $2 (переменной AWK, содержащей значение 2го столбца (или другими словами 2е значение текущей в строке
например в файле с содержимым: 127.0.0.1 localhost
выведет localhost
)
{} — в AWK действие, которое должно быть выполнено при нахождении нужного значения записывается в таких скобках, чтобы BASH не спутал их со своими вложенными запусками дочерних процессов в консоли эти скобки экранированны символами \
Таким образом этот файл выведет:
значение 2го столбца в файле /home/tvs/scripting/userip.txt, найденное в результате получения из файла /home/tvs/scripting/15.txt строки, содержащей IP адрес.
Причем, в файле /home/tvs/scripting/userip.txt будет найдена строка, совпадающая со значением IP адреса из файла /home/tvs/scripting/15.txt
smbclient — сведения о подключениях пользователей SAMBA
http://www.samba.org/samba/docs/man/manpages/smbclient.1.html
команды:
smbclient -L — просмотр подключений к серверу SAMBA (кто висит на шарах) и какие файлы они используют.
отправка net send из Linux Windows клиентам
чтобы отправить сообщение нужно запустить из Linux команду:
cat file_with_message | smbclient -N -M win_ computer_name
параметр -N — означает не запрашивать пароль
параметр -M после него через пробел указывается имя компьютера
SAMBA: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Добавьте в /etc/samba/smb.conf:
Winbindd NSS Samba Linux
PAM, или Pluggable Authentication Modules – изощренный модульный метод, для опознавания пользователей и их доступа к службам. Простой путь проверки использования вашей системой PAM состоит в проверке каталога
на вашем диске на наличие файла
или каталога
.
NSS, или Name-Service Switch – отвечает за то, как и где системный вызов
будет производить поиск разнообразной информации в системных базах вроде названий хостов, имен пользователей, паролей и т.п. В качестве системных баз используются локальные файлы вроде
,
, DNS, NIS и пр. Конфигурирование производится в файле
. Формат файла имеет следующий вид: «системная база: список источников [опции]».
Winbind – это демон («служба» в терминах Windows), работающий на клиентах Samba и действующий как прокси для связи между PAM и NSS, работающими на компьютере Linux, с одной стороны, и Active Directory, работающей на контроллере домена, с другой. В частности, Winbind использует Kerberos для проверки подлинности с помощью Active Directory и LDAP для получения информации о пользователях и группах. Winbind также предоставляет дополнительные услуги, такие, как возможность обнаруживать контролер домена, используя алгоритм, подобный DCLOCATOR в Active Directory, и возможность сбрасывать пароли Active Directory, связываясь с контроллером домена при помощи RPC(Remote Procedure Call).
Winbind решает ряд проблем, сохраняющихся при простом использовании Kerberos с помощью PAM. В частности, вместо жесткого кодирования контроллера домена для проверки подлинности PAM Winbind выбирает контроллер домена путем поиска по записям локатора DNS подобно тому, как это делает модуль DC LOCATOR Microsoft.
—– Врезка не является частью man winbindd (8) и дана для понимания предмета ——
ИМЯ
– демон (служба) NSS, которая используется Samba для преобразования имен от серверов NT.
СИНТАКСИС
ОПИСАНИЕ
Эта программа является частью пакета
.
– это демон, который предоставляет доступ сервисам NSS (реализованных в большинстве современных библиотек Си) к различным приложениям через PAM и
, а также в саму Samba.
Даже если winbind не прописан в nsswitch, он используется сервисами
, а так же PAM модулем
, управляя соединениями с контроллерами доменов. В этом случае не требуется использовать параметры
(Этот режим также известен, как ‘
‘).
Служба NSS предоставляет возможность получать пользовательскую и системную информацию из баз данных различных служб, NIS или DNS. Необходимое поведение настраивается в конфигурационном файле
. Пользователи и группы преобразовываются к диапазону идентификаторов пользователей и групп определенных в Samba.
Служба, предоставляемая
называется ‘winbind‘ и используется для получения имен пользователей и групп с сервера Windows NT. Также эта служба может быть использована для аутентификации через модуль.
Модуль
поддерживает типы модулей
,
и
. Следует заметить, что модуль
, для подтверждения возможности получения UID пользователя, этого достаточно чтобы контроллер домена проверил права доступа. Это возможно, если библиотека
была корректно установлена, или был сконфигурирован альтернативный источник имен.
Служба
поддерживает несколько типов баз данных:
эта база доступна только в ОС IRIX. Информация о пользователях традиционно хранится в файле
. Имена получаются через WINS сервер или
(путем широковещательного запроса).
информация о пользователях традиционно хранится в файле
.
информация о группах традиционно хранится в файле
.
В следующем примере конфигурационного файла
информация о пользователях и группах берется из файлов
и
, а затем из базы сервера Windows NT:
<strong>group</strong>: files winbind
## only available on IRIX: use winbind to resolve hosts:
# hosts: files dns winbind
## All other NSS enabled systems should use libnss_wins.so like this:
<strong>hosts</strong>: files dns wins
В следующем примере конфигурационного файла
информация о именах компютеров берется сначала из файла
, а затем от сервера WINS:
ОПЦИИ
если ключ задан, то сервер действует в роли демона. Сервер запускается в фоне на соответствующем порту. Этот ключ передается
в командной строке оболочки.
если ключ задан, то
не будет запущен как демон (служба). Дочерние процессы будут создаваться как обычные для каждого запроса на соединение, но главный процесс не будет завершен. Этот режим подходит для запуска
под менеджерами процессов, такими как
(автор Daniel J. Bernstein’s), или диспетчером процессов AIX.
если ключ задан, то
будет выводить лог на стандартный поток вывода, а не в файл.
– целое число от 0 до 10. Если ничего не задано, то значение по умолчанию равно 0.
Чем больше значение
, тем более подробным будет лог-файл. При значении, равном нулю, будут записаны только критические ошибки и серьезные предупреждения. Уровень 1 достаточен для ежедневного запуска – при нем записывается маленький объем информации о проведенных операциях.
Уровни выше 1 будут генерировать сравнительно много записей в логе и их следует использовать при столкновении с какой-либо проблемой. Уровни выше 3 введены для использования разработчиками и генерируют ОГРОМНОЕ количество данных лога, большая часть которых чрезвычайно сложночитаема.
Заметьте, что при определении этого параметра будет игнорироваться параметр
из файла
.
Напечатает номер версии программы.
Указанный файл должен содержать конфигурационные данные, необходимые серверу. Информация из этого файла включает специфическую информацию о сервере, такую, как например определение используемого для printcap-файла, также как и описания всех служб, предоставляемых этим сервером. Смотрите
для получения дополнительной информации. Стандартное имя конфигурационного файла определяется во время компиляции.
Имя главной директории для log/debug файлов. Будет добавлено расширение «.progname» (например,
,
, и т.д.). Клиент не сможет удалить лог файл.
Напечатает информацию об опциях командной строки.
если ключ задан, то
выйдет из режима демона и отсоединится от текущего терминала. Этот параметр используется разработчиками при необходимости интерактивной отладки
. Также
выведет лог на стандартный поток вывода, как если бы был указан параметр
.
Отключает кэширование. Это означает, что
всегда будет ждать ответа от контроллера домена прежде чем ответить клиенту. В результате все будет работать медленнее, но более точно, т.к. результаты из кэша могут быть устаревшими. Также может привести к зависанию
при отсутствии ответа от DC (контроллера домена).
Режим «единого» демона. Это означает, что
будет запущен как единый процесс (так было в Samba 2.2). Стандартное поведение
– запуск дочерних процессов, отвечающих за обновление устаревших записей кэша.
Разрешение имени и идентификатора / ID
При создании пользователей и групп на серверах Windows NT им присваиваются абсолютно уникальные идентификаторы безопасности (SID – Security Identificator). Для преобразования пользователя или группы Windows NT в пользователя или группу unix-системы необходимо связать SID с unix-идентификатором пользователя или группы. Это является одной из функций
.
После получения демоном
данных о пользователе и группе с сервера, ему становятся известными ID пользователя и группы. Далее сравниваются эти ID пользователя и группы с unix IDs и соответствующие ID сохраняются в базе данных.
Предупреждение: эта база данных единственное место, где
хранит соответствия SID и unix ID. Если этот файл будет удален или поврежден, то
не сможет установить соответствие между unix ID группы или пользователя и пользователем (или группой) в Windows NT.
Конфигурация
Настройка демона
производится с помощью параметров в файле
. Все параметры должны быть определены в секции
файла
:
-
winbind separator
-
idmap uid
-
idmap gid
-
idmap backend
-
winbind cache time
-
winbind enum users
-
winbind enum groups
-
template homedir
-
template shell
-
winbind use default domain
-
winbind rpc only
Пример настройки
Чтобы настроить
для просмотра пользователей и групп, а также аутентификации с контроллера домена, используйте следующую конфигурацию. Ее тестирование проводилось на довольно старом RedHat Linux box.
В
запишите следующее:
group: files winbind
В
замените
строки на что-нибудь вроде этого:
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_winbind.so
auth required /lib/security/pam_unix.so use_first_pass shadow nullok
Примечание: PAM-модуль
недавно был заменен модулем
. Некоторые Linux системы используют модуль
вместо
. Обратите внимание на то, что используются ключевые слова
и
.
Теперь замените строки учетных записей следующим образом:
Следующий шаг – присоединение к домену. Для этого нужно использовать программу
следующим образом:
именем пользователя после
может быть любой пользователь домена, имеющий администраторские права. Подставьте имя или IP вашего PDC (Primary Domain Controller) вместо “PDC”.
Теперь скопируйте
в каталог
и
в каталог
. Сделайте символическую ссылку
в
. Если вы используете более старую версию
, то целевая ссылка должна быть
.
Наконец, настройте в
директивы:
winbind separator = +
winbind cache time = 10
template shell = /bin/bash
template homedir = /home/%D/%U
idmap uid = 10000-20000
idmap gid = 10000-20000
workgroup = DOMAIN
security = domain
password server = *
Теперь запустите
, и вы увидите, что база данных пользователей и групп увеличилась и включает теперь ваших пользователей и группы NT. Вы можете войти в ваш unix box как пользователь домена, используя конструкцию ДОМЕН+пользователь в качестве имени пользователя. Возможно, вам понадобятся команды
и
для подтверждения операции изменения
.
Заметки
Следующие заметки полезны при настройке и использовании
.
на данной машине отсутствует или не запущен.
При конфигурации PAM очень легко ошибиться. Поэтому прежде чем что-либо менять – удостоверьтесь в том, что вы знаете что делаете. Если вы ошибетесь при настройке PAM, то больше не сможете войти в систему.
Если
запущен на нескольких машинах, то ID пользователей и групп, присвоенные
, разных машин не будут одинаковыми. ID пользователей или групп будут верны только для локальной машины (если только не настроен общий
).
Если файл соответствия Windows NT SID и UNIX-идентификаторов пользователей и групп будет поврежден или уничтожен, то созданные связи будут потеряны.
Сигналы
Следующие сигналы могут быть использованы для управления демоном
:
Перезагрузит файл
и применит изменившиеся параметры к
. Этот сигнал также удалит из кэша информацию о пользователях и группах. Лист доверенных доменов
также будет перезагружен.
Этот сигнал даст
команду записать текущий статус в лог-файл. Лог-файлы хранятся в файле, указанном параметром
.
Файлы
Конфигурационный файл сервиса NSS.
Именованный канал UNIX, через который клиенты общаются с программой
. По соображениям безопасности, клиент winbind будет пытаться соединиться с демоном
только если директория
и файл
принадлежат root’у.
Именованный канал UNIX, через который ‘привилегированные’ клиенты общаются с программой
. Из соображений безопасности доступ к некоторым функциям
(например, необходимым утилите
) будет ограничен. По умолчанию только пользователи группы ‘root’ получают этот доступ. Администратор может изменить привилегии групп в файле
для того, чтобы программы, такие как Squid, могли использовать
. Заметьте, что клиент winbind будет пытаться присоединиться к демону
только если директория
и файл
принадлежат root’у.
Исполняемая библиотека сервисов NSS.
В этом файле хранятся соответствия Windows NT RID (Relative IDentifiers) и UNIX ID пользователей и групп.
определяется во время изначальной компиляции Samba с помощью опции
. По умолчанию это директория
.
Этот файл содержит кэш информации о пользователях и группах.
Версия
Эта страница мануала верна для пакета Samba 3.0.
Также смотрите
АВТОР
Изначально Samba и сопутствующие утилиты были разработаны Эндрю Тридгеллом (Andrew Tridgell). Сейчас Samba разрабатывается Samba Team в качестве Open Source проекта – напоминает то, как разрабатывается ядро Linux.
и
были написаны Тимом Поттером (Tim Potter).
Изначально страницы man поддерживал Karl Auer. Исходные коды страниц man конвертировались в формат YODL (доступно здесь yodl.sourceforge.net) и обновлялись для релизов Samba 2.0 Jeremy Allison. Переведено в формат DocBook для Samba 2.2 Джерардом Картером (Gerald Carter). Переведено в формат XML 4.2 для Samba 3.0 Александром Боковым.
Трансляция на русский язык выполнена Айзятулленым Ренатом. Mail-to: brand20 собака yandex.ru
взято с сайта http://smb-conf.ru/winbindd.html
SAMBA, OpenLDAP
http://linux.die.net/man/8/sssd
Name
sssd — System Security Services Daemon
Synopsis
sssd [options]
Description
SSSD provides a set of daemons to manage access to remote directories and authentication mechanisms. It provides an NSS and PAM interface toward the system and a pluggable backend system to connect to multiple different account sources as well as D-Bus interface. It is also the basis to provide client auditing and policy services for projects like FreeIPA. It provides a more robust database to store local users as well as extended user data.
LDAP Logging |
Server Training — Server Management |
Configure Logging You certainly want to look at the logging aspect as it is essential for troubleshooting. I hate to say it but you will have problems and this will make it easier. The logging options should be placed in the slapd.conf file. The directive for logging is represented by a number representing the type of information that should be saved. Here are the options: -1 all If you wanted to log each of these you add them together and you get an integer that you place after the directive. loglevel 296 Edit /etc/syslog.conf # service syslog reload
NB: There is no need to restart ldap service.
|