Linux samba сменить пароль пользователя

Обновлено: 06.07.2024

Смена пароля пользователем (без участия админа)

Модератор: SLEDopit

Смена пароля пользователем

Господа, посоветуйте:
1. На почтовом сервере под Linux использую sendmail+UW-IMAP. Можно ли сделать так чтобы пользователь мог сам сменить пароль к своему почтовому ящику. Под пользователем понимается пользователь Windows, который linux не видел. Если это нельзя сделать в sendmail+UW-IMAP, то в каких либо других серверах под Linux или Windows.
2. Имеется файловый сервер под linux, samba. security = user, т.е. отдельностоящий, без домена. Можно ли сделать так чтобы ползователь Windows, мог менять пароль для захода на файловый сервер? Тот же вопрос, если поднят домен. По второму вопросу: могу ошибаться конечно (на работе надо уточнить), если на linux поднят samba + openldap и вся эта связка работает как контроллер домена, то вроде можно пароли менять. Виндовс-клиенты должны входить в домен, ну а пароли менять также, как если бы был конроллер домена под Windows. По второму вопросу: могу ошибаться конечно (на работе надо уточнить), если на linux поднят samba + openldap и вся эта связка работает как контроллер домена, то вроде можно пароли менять. Виндовс-клиенты должны входить в домен, ну а пароли менять также, как если бы был конроллер домена под Windows.
Это да. Я говорю про отдельностоящий файловый сервер.

2.
- настраиваете отдельно стоящий сервер хорошо.
- в винде: пуск -> выполнить -> mmc -> меню -> добавить оснастку -> добавить -> управление компьютером -> пользователи -> правой кнопкой по юзеру -> сменить пароль.
в самбе можно настраивать - будет ли она так же менять юниксовый пароль при смене NT/LM пароля.

это встроеная фича протокола cifs/smb. когда вы вызываете smbpasswd самба подключается сама к себе по smb и делает специальный запрос на смену пароля. соответственно если все хорошо, то с винды это просто обязано работать.

Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит. - в винде: пуск -> выполнить -> mmc -> меню -> добавить оснастку -> добавить -> управление компьютером -> пользователи -> правой кнопкой по юзеру -> сменить пароль

не получается так менять пароль. При добавлении остнастки пишет: В доступе отказано. Что для винды что для самбы. Может какую-нибудь службу надо запустить, чтобы можно было подключаться удаленно? кстати для остальных оснасток то же самое.

в самбе можно настраивать - будет ли она так же менять юниксовый пароль при смене NT/LM пароля.

ldap passwd sync (G)

This option is used to define whether or not Samba should sync the
LDAP password with the NT and LM hashes for normal accounts (NOT
for workstation, server or domain trusts) on a password change via
SAMBA.

unix password sync (G)

This boolean parameter controls whether Samba attempts to
synchronize the UNIX password with the SMB password when the
encrypted SMB password in the smbpasswd file is changed.

This string controls the "chat" conversation that takes places
between smbd(8) and the local password changing program to change
the user's password.
.
Default: passwd chat = *new*password* %n\n*new*password* %n\n
*changed*

Example: passwd chat = "*Enter NEW password*" %n\n "*Reenter NEW
password*" %n\n "*Password changed*"

Эта программа является частью пакета Samba.

smbpasswd позволяет пользователю изменить его зашифрованный пароль для smb, который записывается в файл smbpasswd (обычно находящийся в подкаталоге private основного каталога иерархии Samba. Обычные пользователи могут только запускать команду без указания опций. Им будет выдано приглашение на ввод их старого пароля а затем приглашение на ввод нового пароля два раза для того, чтобы убедится в правильности ввода пароля. Отсутствие пароля будет отражено на экране во время его ввода. Если у вас пустой пароль (заданный строкой "NO PASSWORD" в файле smbpasswd) то вам просто нужно нажать клавишу <Enter> когда вас просят ввести ваш старый пароль.

Новое в версии 1.9.18p4. smbpasswd теперь будет позволять пользователю изменять свой пароль на сервере Windows NT. Для того, чтобы сделать это, добавте параметр -r <удаленная_машина> к команде smbpasswd. Имя этой машины ищется при помощи параметра "name resolve order" заданного в файле smb.conf в секции [global]. Заметим, что когда происходит изменение пароля Windows NT для пользователя домена, параметр <удаленная_машина> должен быть именем Primary domain controller.

Для того, чтобы пользователи могли изменять свои пароли в файле smbpasswd, в случае "NO PASSWORD", администратор должен установить следующий параметр в секции [global] файла smb.conf :

null passwords = true

Это не рекомендуется NOT как основная политика, это рекомендуется для того чтобы новым пользователям был назначен пароль по умолчанию.

Опции -a и имя_пользователя могут быть использованы только суперпользователем root.

ОПЦИИ

Задает имя пользователя, которое должно быть добавлено в файл smbpasswd, при вводе нового пароля (Нажмите <Enter> для ввода старого пароля) Эта опция игнорируется если имя_пользователя уже существует в файле smbpasswd. В этом случае команда с данной опцией трактуется просто как команда без опции, для изменения пароля. Заметим, что пользователь, которого нужно добавить должен уже существовать в файле паролей операционной системы (обычно /etc/passwd) иначе пользователь добавлен не будет.

Вы можете задать имя пользователя для команды smbpasswd только если вы запустили ее как суперпользователь (root). Только суперпользователь должен иметь права на изменение smb паролей других пользователей.

УСТАНОВКА

Местоположение сервера и его файлов поддержки определяется индивидуально каждым системным администратором. По этому далее мы только советуем.

Рекомендуется программу smbpasswd поместить в каталог /usr/local/samba, или в любой другой, доступный на чтение всем, а на запись только суперпользователю. Выполнение программы должно быть доступно всем. Также рекомендуем, чтобы программа не имела установленный бит суперользователя (setuid root).

У меня есть сервер Samba для примерно 5 пользователей (security = user), и я хочу, чтобы эти пользователи могли менять свои пароли без моего участия, поэтому у меня есть следующая идея. Это безопасно? Есть ли лучший (как в более простом) подходе. Раньше для этого у нас был спецназ, но не более.

На сервере: создать пользователя с ограниченными правами (/ bin / rbash + PATH в один каталог)

Эта идея заключается в том, что пользователь pwchange может запустить только команду sambpasswd. Учетные записи Unix для пользователей Samba не имеют паролей (т.е. вход через эти учетные записи запрещен). Пользователи samba смогут использовать эту ограниченную учетную запись только для самостоятельного изменения пароля Samba . не исследовать сервер!

Клиент: Изменить пароль Samba через Терминал или Замазку (Windows)

Но я думал, smbpasswd что пользователи и администраторы должны были менять свои пароли . Это то, что вы хотите? В этом случае учетные записи пользователей Unix не имеют паролей, поэтому user1 не может войти в систему как user1@192.168.1.14. Сервер Samba был настроен как «security = user», а ограничения файла были установлены в smb.conf. Пользователям не разрешалось входить в Unix, так как базовые разрешения для файлов Unix были более разрешительными, чем комбинация разрешений для файлов Samba и Unix (расширенные ACL Unix не использовались.) В моем колледже у нас был портал самообслуживания, пользователи которого могли авторизоваться с использованием проверки идентификатора и смс, а в фоновом режиме мы выполнили команду smbpasswd

Предоставление им всем доступа к одной и той же фиктивной учетной записи не кажется разумным. Даже если вы заблокируете его, чтобы иметь доступ ни к чему, НО smbpasswd они могут изменить пароли друг друга. И всегда есть возможность злонамеренной атаки на повышение привилегий.

По сути, это звучит так, как будто вы хотите, чтобы они могли запускать ТОЛЬКО smbpasswd команду из своей учетной записи, но при этом иметь эквивалентную nologin учетную запись.

Это может быть достигнуто с помощью опции «ForceCommand» в вашем sshd_config.

Предоставьте каждому пользователю с учетной записью Samba одну и ту же группу. Для нашего примера скажем "sambaOnly":

Далее мы хотим изменить наш файл sshd_config, чтобы иметь следующее:

Presto. Из моего понимания (и краткого тестирования) это означает, что когда они входят в систему через SSH, они автоматически smbpasswd запускают команду и получают соответствующий запрос. У них никогда не будет возможности получить доступ к оболочке. После завершения команды они автоматически отключаются, снова не имея возможности получить доступ к оболочке.

Я не уверен на 100%, что это удаляет весь доступ к машине удаленно. Например, если вы используете другой SSH-сервер на том же компьютере, на котором ForceCommand их нет, то они могут войти через него в зависимости от конфигурации управления доступом.

Кроме того, если у них есть возможность физического доступа к терминалу, они могут войти в систему.

Тем не менее, я думаю, что для большинства ситуаций это довольно сильный контроль доступа.

Samba - это популярный пакет программ с открытыми исходными текстами, который предоставляет файловые и принт-сервисы Microsoft® Windows® клиентам. Настройка Samba-сервера может быть выполнена при помощи утилит Calculate входящих в пакет sys-apps/calculate-server. Для хранения учётных записей пользователей, групп и машин и управления ими утилиты используют OpenLDAP-сервер. Необходимое программное обеспечение входит в состав Calculate Directory Server.

В качестве Linux клиента может выступать любая версия Calculate Linux Desktop (CLD, CLDC, CLDL, CLDM или CLDX). В качестве Windows клиентов могут быть использованы операционные системы семейства Windows. На данный момент Microsoft прекратила официальную поддержку доменов NT4 в операционных системах Windows. Однако с некоторыми изменениями вы все еще можете использовать более поздние выпущенные операционные системы Windows с доменом Samba NT4.

Настройка сервера

Настройка Samba-сервера выполняется в несколько этапов. Так как все данные пользователей и машин хранятся в LDAP, вначале неободимо выполнить настройку OpenLDAP-сервера, а затем - настройку LDAP для хранения учётных записей пользователей Linux. Это необходимо для работы Linux-клиентов. После этого можно настроить Samba-сервер.

Настройка LDAP

Настройте LDAP-сервер согласно руководству.

Настройка Samba

Перед настройкой Samba-сервера настройте LDAP для хранения учётных записей Unix-пользователей. Для этого выполните:

Для настройки Samba-сервера выполните:

В качестве параметров вы можете указать netbios и workgroup.

  • - устанавливает имя NetBIOS, под которым будет работать Samba сервер. По умолчанию оно устанавливается равным первому компоненту DNS-имени хоста.
  • - имя домена или рабочей группы NT для компьютеров, которые будут получать доступ к этому серверу.

Задайте пароль администратора (пользователь с логином ):

Новый пароль:
Повторите новый пароль:
* Пароль пользователя admin Samba сервиса изменен

Пользователь используется только для ввода клиентского компьютера с ОС Windows в домен. Admin не имеет домашней директории.

Если нужен администратор домена для управления компьютерами на Windows, создайте нового пользователя и включите его в доменную группу .

Пример создания администратора домена:

cl-useradd -p --gid "Domain Admins" -c "Администратор домена" d_admin samba

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

Для работы с пользователями используйте аналоги стандартных Unix-команд: cl-useradd , cl-userdel , cl-usermod , cl-passwd , cl-groupadd , cl-groupdel , cl-groupmod . Синтаксис этих команд будет во многом совпадать с одноименными системными утилитами.

Для примера добавьте пользователя test и задайте ему пароль:

Настройка прав доступа

Настройка прав доступа к файловой системе

Для настройки прав доступа к файлам на сервере используйте ( — список контроля доступа). Изменяя права на файлы, вы ограничиваете к ним доступ в равной степени как для Windows-, так и для Linux-клиентов. При отсутствии прав доступа к файлам и директориям они не будут отображаться в Samba-ресурсе.

Права доступа применяются как к файлам, так и к директориям. Вы можете указать права доступа на владельца файла, либо на группу. Если Windows-клиент будет распознавать только Samba-группы, то в Linux будут отображаться имена Unix- и Samba-групп. Поэтому, для разграничения прав доступа, предпочтительней использовать Samba-группы.

Для примера создадим Samba-группу manager :

Для создания Unix-группы job , достаточно выполнить:

Настройка прав доступа для пользователей Windows-компьютеров

Для настройки дополнительных прав Windows машин, таких как: возможность устанавливать программы, возможность выхода из домена и т.д., используйте Samba группы.

Пример повышения прав пользователя test до администратора домена:

Структура Samba-групп

Samba-группы могут быть следующих типов:

  • (номер типа группы )
  • (номер типа группы )
  • (номер типа группы )

Группы, созданные по умолчанию:

Доменные группы - глобальные группы, которые действуют в домене.

  • - администраторы домена (полные права на компьютерах в домене).
  • - гости домена (минимальные права).
  • - пользователи домена.
  • - компьютеры домена.

Локальные группы - группы, действующие локально на данном компьютере.
Локальные группы отсутствуют

Встроенные группы - группы встроенные в систему.

  • - администраторы (полные права).
  • - операторы учетных записей. Создание и управление пользовательской учетной информацией, создание и управление группами, резервное копирование файлов и каталогов.
  • - операторы архивов. Резервное копирование, восстановление из резервной копии, остановка системы.
  • - операторы печати. Управление принтерами, резервное копирование.
  • - репликаторы. Эта группа используется службой репликации File Replication на контроллерах домена.
  • - операторы системы. Изменение системного времени, останов системы, останов с удаленной системы, резервное копирование, восстановление из резервной копии, блокирование сервера, преодоление блокировки сервера, форматирование жесткого диска, управление сетевыми каталогами, управление принтерами.

Пример создания доменной группы test . По умолчанию создается доменная группа, тип группы - .

Пример создания встроенной группы Power Users - пользователей, имеющих дополнительные права.

  • - идентификатор группы 547 (Group ID)
  • - уникальный идентификатор 547 (RID)
  • - тип группы 5 (встроенная группа)

Подключение Unix-клиентов

    На клиенте пропишите IP адрес сервера в :

Для подключения Unix-клиентов укажите пароль для служебного пользователя :

На клиентской машине выполните:

где DOMAIN - сетевое имя или IP-адрес сервера.

Подключение Windows-клиентов

В ОС семейства Windows активируйте учетную запись Администратора командой:
net user Администратор /active:yes

Подключение клиента с ОС Windows 7

Для подключения клиента с ОС Windows 7 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:

Дважды кликните файл, чтобы импортировать его в реестр. После этого перезагрузитесь, чтобы изменения вступили в силу.

Теперь необходимо ввести компьютер в Samba-домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке "Имя компьютера" нажмите кнопку "Изменить".

Ввод ОС Windows в Samba домен

Далее укажите, что компьютер является членом домена, и введите его имя:

Указание имени компьютера в домене

Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:

Авторизация компьютера в домене

После этого компьютер станет членом домена:

Успешный ввод компьютера в домен

Подключение клиента с ОС Windows 10

Для подключения клиента с ОС Windows 10 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:

Дважды кликните файл, чтобы импортировать его в реестр. После этого перезагрузитесь, чтобы изменения вступили в силу.

После этого перезапустите сервис samba:

Теперь необходимо ввести компьютер в Samba-домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке "Имя компьютера" нажмите кнопку "Изменить".

Ввод ОС Windows в Samba домен

Далее укажите, что компьютер является членом домена, и введите его имя:

Указание имени компьютера в домене

Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:

Авторизация компьютера в домене

После этого компьютер станет членом домена:

Подключение клиента с ОС Windows Server 2008

Для подключения клиента с ОС Windows 2008 войдите в систему под учётной записью Администратора и с помощью текстового редактора создайте текстовый файл с именем со следующим содержимым:

Дважды кликните файл, чтобы импортировать его в реестр. После этого перезагрузитесь, чтобы изменения вступили в силу.

Теперь необходимо ввести компьютер в Samba)домен. Для этого перейдите в свойства компьютера, а оттуда в настройку удалённого доступа. Во вкладке "Имя компьютера" нажмите кнопку "Изменить".

Ввод ОС Windows в Samba домен

Далее укажите, что компьютер является членом домена, и введите его имя:

Указание имени компьютера в домене

Введите имя и пароль пользователя, созданного на Samba-сервере и входящего в группу администраторов домена:

Авторизация компьютера в домене

После этого компьютер станет членом домена:

Успешный ввод компьютера в домен

Просмотр информации

Для просмотра информации о пользователях и группах сервера используйте утилиту cl-info . В качестве параметра может выступать один из сервисов: или .

Пример команды для вывода списка Unix-пользователей:

Пример команды для вывода списка Samba-пользователей:

Пример команды для просмотра информации о пользователе user1 Unix-сервиса:

Пример команды для просмотра информации о пользователе user1 Samba-сервиса:

Пример команды для вывода списка Unix-групп:

Пример команды для вывода списка Samba-групп:

Пример команды для просмотра информации о группе group Unix-сервиса:

Пример команды для просмотра информации о группе Domain Users Samba-сервиса:

Читайте также: