Используя LDAP для аутентификации, как я могу безопасно отключить/деактивировать учетную запись, не удаляя его?

возможно, выйдите / символ....., что (\) используемый для? Но Походит, так как Вы в одинарных кавычках, Вы не должны выходить из всего, что Вы помещаете там.

Мое предложение для отладки состоит в том, чтобы удалить некоторые символы и видеть что не так с шаблоном.

6
04.02.2014, 17:50
1 ответ
[117562] Изменение оболочки пользователя только "определенно" меняет то, что будет выполняться, если пользователь попытается войти в систему и запустить оболочку. Это само по себе не делает доступ недействительным. Таким образом, кто-то может запустить [118026]ssh хост -t /bin/sh[118027] для выполнения команды, или все еще может войти в систему через ftp или веб-приложение, используя этот репозиторий.

Однако, вы можете заставить это работать, проверяя действительный логин оболочки перед разрешением доступа. Вы можете сделать это с помощью LDAP-фильтра. Или, на большинстве систем Linux (и некоторых других PAM-систем).включенные варианты UNIX), вы можете использовать что-то вроде pam_shells, которая проверяет, не указана ли оболочка пользователя в /etc/shells перед разрешением доступа.

Традиционно, доступ к логину на основе оболочки осуществляется либо установкой оболочки в /bin/false, либо установкой в /bin/nologin (если он существует). Использование pam_shells или LDAP-фильтра делает эти решения "в основном" бессмысленными. Однако, мне нравится помещать /bin/true в /etc/shells, чтобы предотвратить доступ оболочки для некоторых пользователей, разрешая им войти с помощью чего-нибудь вроде scp; затем я помещаю /bin/false для пользователей, которые не должны получить ничего из этого, и использую pam_shells в тех службах, где я хочу использовать оболочку для переключения.

find ~/Documents/myfiles -type f -print0 | xargs -0 touch
В большинстве случаев, с помощью LDAP вы можете предоставить атрибут, который контролирует доступ. В Linux pam_ldap, опция "pam_check_service_attr" позволяет вам перечислять определённые pam сервисы, для которых этот пользователь может аутентифицироваться (используя атрибут "authorizedService"). Есть также атрибут доступа на основе хоста.

#!/bin/bash
# path to .bashrc, .zshrc, etc.
export RC='~/.bashrc'

if [ `expr index "${1:-0}i" =` == 0 ]; then
    echo "Usage: mkalias ALIAS=EXPRESSION
Makes alias permanent by writing to .bash_aliases contained in home directory."
else
    # Export alias
    echo 'alias '$1 >> $RC
fi

Но на самом деле, ответ на ваш вопрос очень сильно зависит от возможностей программного обеспечения, с которым вы подключаетесь к LDAP. :)[117571].

3
27.01.2020, 20:30

Теги

Похожие вопросы