Назад | Перейти на главную страницу

Рядовой сервер Samba - пользователь отключен?

У меня есть файловый сервер Debian Samba, привязанный к Active Directory в качестве рядового сервера.

Мы создаем папку персонала для каждого сотрудника, соответствующего его имени пользователя на этом сервере.

Когда сотрудники увольняются, их учетная запись пользователя Active Directory деактивируется и перемещается в деактивированное пользовательское OU.

Я хотел бы программно удалить папки сотрудников для сотрудников, которые ушли, но не могу найти инструмент, который будет различать активных и деактивированных сотрудников. Я пробовал: команды "wbinfo --verbose -i" и "id".

Кто-нибудь знает команду Linux, которую я могу использовать, чтобы определить, активен ли сотрудник или деактивирован, или альтернативное состояние OU, в котором находится учетная запись пользователя.

Вы можете проанализировать вывод "Account Flags" pdbedit чтобы получить эту информацию.

Этот пример покажет вам механизм, как это сделать:

root@dc:~# { pdbedit -v -u Disabled.UserName | \
             grep '^Account Flags.*D' >/dev/null; } && echo disabled
disabled

Предложение 1

Используя LDAP, вы можете проверить свойство userAccountControl, чтобы проверить статус учетной записи AD.

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

Например:

UF_NORMAL_ACCOUNT =  512
UF_ACCOUNT_DISABLE =   2 +
                     ---
                     514

Следовательно, отключенная учетная запись пользователя будет иметь userAccountControl = 514.

Все учетные записи пользователей являются «обычными» учетными записями (512) - необычные учетные записи - это такие вещи, как учетные записи для доверительных отношений домена (2048) и т. Д.

Есть ряд других флагов, связанных с этим свойством, но некоторые из них недействительны, несмотря на внешнюю видимость. Однако 512 = активен и 514 = отключен надежен для стандартной учетной записи.

Полезный список этих флагов составлен на SelfADSI.org:http://www.selfadsi.org/ads-attributes/user-userAccountControl.htm

Предложение 2

В качестве альтернативы, в вашей ситуации, более простой метод LDAP может заключаться в том, чтобы увидеть, находится ли путь учетной записи в «неактивном» OU. Если вы установите корень поиска в неактивное подразделение, а затем возьмете список имеющихся там учетных записей, вы сможете сравнить их со списком существующих домашних дисков пользователей, которые у вас будут.

Вы должны придерживаться openldap ldapsearch утилита, которая предоставит вам нужную информацию. Переключатели, с которыми вы его запускаете, и дополнительные параметры зависят от вашей конфигурации AD, например, имя домена, координаты подразделения внутри корня LDAP и т. Д.