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

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

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

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

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

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

УСТАНОВКА

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

Источник

Метод для пользователей, чтобы изменить пароль Samba

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

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

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

Читайте также:  Не всплывает панель задач windows 10

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

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

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

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

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

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

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

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

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

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

Источник

Как сменить пароль в Linux

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

Иногда возникает необходимость изменить пароль в Linux. Во-первых, это может произойти, если вы забыли пароль или просто хотите его поменять. Другая же причина — это безопасность. Пароли нужно менять по крайней мере несколько раз в год, и, если вы системный администратор компании, важно заставить ваших пользователей тоже менять пароли время от времени, и у Linux для этого тоже есть инструменты. В этой статье мы рассмотрим, как поменять пароль в Linux.

Основы

В Linux есть несколько утилит с помощью которых может быть выполнена смена пароля Linux. В этой статье мы будем рассматривать только способы сделать это с помощью терминала, с графическими способами, я думаю, вы и так без труда разберётесь, к тому же они не дают нужной нам гибкости.

Список пользователей в Linux хранится в файле /etc/passwd, вы можете без труда открыть его и посмотреть, пароли же выделены в отдельный файл — /etc/shadow. Этот файл можно открыть только с правами суперпользователя, и, более того, пароли здесь хранятся в зашифрованном виде, поэтому узнать пароль Linux не получиться, а поменять вручную будет сложно.

В большинстве случаев смена пароля выполняется с помощью утилиты passwd. Это очень мощная утилита, она позволяет не только менять пароль, но и управлять сроком его жизни. У неё такой синтаксис:

$ passwd опции пользователь

Рассмотрим опции, чтобы лучше ориентироваться в использовании утилиты:

  • -d — удалить пароль пользователя, после этого он не сможет войти
  • -e — сделать пароль устаревшим
  • -i — через сколько дней после того, как пароль устарел, отключить аккаунт, если пользователь не сменил пароль
  • -l — запретить пользователю входить в систему
  • -n — минимальное количество дней между сменами пароля
  • -S — отобразить информацию об аккаунте
  • -u — отменяет действие параметра -l
  • -x — максимальное количество дней, пока пароль можно использовать.
  • -w — количество дней, после которых нужно предупреждать пользователя о том, что надо сменить пароль.
Читайте также:  Файл cbs log для windows 10

Возможно, сейчас всё выглядит очень непонятно, но на примерах станет проще. Мы рассмотрим, зачем и в каких случаях нужно использовать все эти опции, чтобы сменить пароль в Linux. Переходим к практике.

Если вы забыли пароль и вам его надо не просто сменить, а сбросить, вам будут полезными эти две статьи:

Как сменить пароль пользователя

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

Дальше необходимо ввести новый пароль — и готово, теперь он измеён. Он кодируетсятся с помощью необратимого шифрования и сохраняется в файле /etc/shadow Но заметьте, что вы не можете использовать здесь любой пароль. Система Linux заботится о том, чтобы пользователи выбирали достаточно сложные пароли. Если он будет очень коротким или будет содержать только цифры, вы не сможете его установить.

Общие требования для пароля такие: должен содержать от 6 до 8 символов, причём один или несколько из них должны относиться как минимум к двум из таких множеств:

  • Буквы нижнего регистра
  • Буквы верхнего регистра
  • Цифры от нуля до девяти
  • Знаки препинания и знак _

Теперь рассмотрим, как изменить пароль Linux для другого пользователя.

Как сменить пароль другого пользователя

Со своим паролем всё понятно, но если вы захотите поменять код для другого пользователя, то придётся вопользоваться правами суперпользователя. А во всём остальном процесс тот же:

sudo passwd user

Здесь user — это пользователь, для которого нужна смена пароля Linux. Требования для пароля такие же: вы не сможете установить слишком простой пароль.

Вы можете удалить пароль Linux для пользователя, тогда он не сможет войти в систему:

sudo passwd -d user

Как поменять пароль группы

Наверное вы видели в своей системе файл /etc/gshadow. Этот файл эквивалентен /etc/shadow, только содержат пароли для групп. Вы не можете войти от имени группы, но зато, зная её пароль, можете получить доступ к предоставляемым ею функциям в отдельной командной оболочке с помощью команды newgrp.

Для установки пароля на группу используется утилита очень похожая на passwd — gpasswd. Естественно, нам нужны права суперпользователя. Например:

sudo gpasswd disk

Теперь попробуем получить полномочия группы:

После ввода пароля мы временно оказываемся в этой группе и можем работать с теми файлами, к которым разрешен доступ этой группе. Чтобы удалить пароль Linux из группы, используется опция -r:

sudo gpasswd -r disk

Как заставить пользователя поменять пароль

Безопасность сервера — это одна из самых важных вещей. Часто причиной проблем с безопасностью становятся сами пользователи, которые недостаточно часто меняют пароли или делают их слишком простыми. Если вы администратор, у вас есть возможность заставить пользователей выполнять смену пароля время от времени, а также автоматически отсылать им предупреждения о том, что пора сменить пароль пользователя Linux.

Читайте также:  Драйвер для мфу kyocera fs 1035mfp для windows 10

Всё это позволяет сделать утилита passwd. Сначала давайте рассмотрим, как посмотреть информацию о пароле в passwd. Для этого используется опция -S:

  • Первое поле — имя пользователя
  • Второе поле показывает одно из значений: P — пароль установлен, L — пользователь заблокирован, NP — пароля нет.
  • 07/21/2016 — дата последнего изменения пароля.
  • 0 — минимальное время до смены пароля
  • 99999 — максимальное время действия пароля
  • 7 — за сколько дней нужно предупреждать об истечении срока действия пароля
  • -1 — через сколько дней пароль нужно деактивировать.

Например, через тридцать дней после смены, пароль пользователя станет устаревшим:

sudo passwd -x 30 test

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

sudo passwd -w 3 test

Если он этого не сделает в течении пяти дней, аккаунт нужно отключить:

sudo passwd -i 3 test

Пароль можно менять не чаще, чем раз в 10 дней:

sudo passwd -n 10 test

Смотрим теперь, что у нас получилось:

sudo passwd -S test

Как поменять пароль root

Изменить пароль Linux для root очень просто, точно так же, как и для любого другого пользователя. Только нужно иметь права суперпользователя. Вот так это будет выглядеть:

sudo passwd root

Всё работает. Таким же способом можно задать пароль root в Ubuntu.

Как вручную поменять пароль

Операционная система Linux не была бы Linux, если бы мы не имели возможность настроить пароль вручную безо всяких утилит. Как я уже говорил, пароли хранятся в файле /etc/shadow. И хранятся они там в зашифрованном виде. Расшифровать пароль невозможно.

Когда система сохраняет пароль, она выполняет шифрование по определённому алгоритму и сохраняет уже зашифрованный результат, а когда пользователю нужно войти в систему, она просто берёт его пароль, опять же шифрует и сверяет с тем, что хранится в /etc/shadow. Если совпадает — пользователь авторизован.

Даже таким способом сменить пароль пользователя Linux не так уж сложно. Итак, сначала нам нужно получить зашифрованный пароль. Это можно сделать несколькими способами, например с помощью openssl:

openssl passwd -1 -salt xyz yourpass

Замените xyz на любую случайную комбинацию символов, чем больше, тем лучше; yourpass — это ваш новый пароль.

Скопируйте полученный результат в буфер обмена, затем откройте файл /etc/shadow и найдите там нужного пользователя. Я хочу сменить пароль Linux для test:

sudo vi /etc/shadow

Синтаксис этого файла такой:

имя_пользователя: пароль: .

Следующее поле указывает на последнее изменение пароля в виде количества дней, прошедших с первого января 1970. Остальные поля нас не интересуют, да и вы с ними очень просто разберётесь, просто сопоставив данные.

Теперь замените пароль на полученный выше и сохраненный в буфер обмена. Сохраните файл и можете пробовать войти под новым паролем:

Всё работает. Как я уже говорил, есть ещё несколько алгоритмов шифрования, с помощью которых вы можете получить пароль, вот они:

makepasswd —clearfrom=- —crypt-md5 mkpasswd -m sha-512 -S salt -s
perl -e ‘print crypt(«YourPass», «salt»),»\n»‘
openssl passwd -crypt -salt XRYourPass

Во всех этих примерах salt — это случайная строка для увеличения надёжности шифрования, а YourPass — ваш пароль. Что делать с полученным данными вы уже знаете.

Выводы

Из этой статьи вы узнали, как сменить пароль Linux. Я рассмотрел все возможные способы и даже не очень стандартные. Если у вас остались вопросы, пишите комментарии!

Источник

Оцените статью