MyTetra Share
Делитесь знаниями!
Настройка разрешения входа пользователей по белому и черному списку для SSH и LXDE через PAM
Время создания: 06.07.2016 14:15
Текстовые метки: linux, ssh, lxde, pam, черный список, белый список, домен, пользователь, active directory
Раздел: Компьютер - Linux - Терминальный сервер (Удаленный рабочий стол)
Запись: xintrea/mytetra_syncro/master/base/14678037244780qaqp35/text.html на raw.github.com

Задача: разрешить или запретить пользователям (unix-пользователям или даже доменным пользователям, если Linux включен в Active Directory через Samba) логиниться в систему. Логин пользователей происходит через ssh (режим консоли) или через удаленное подключение к столу LXDE через X2GO (режим графического терминала).


Данная задача решается через PAM.


Вначале создается файл:


/etc/pam.d/control-user


Имя этого файла произвольное, придумывается администратором. В нем прописываются следующие опции:


# Black list

# auth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/loginusers


# White list

auth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/loginusers


В приведенном коде включена работа по белому списку.


Данный файл подключается в файлах:


  • /etc/pam.d/sshd - для контроля входа по SSH
  • /etc/pam.d/lightdm - для контроля входа в LXDE


Подключение происходит следующей строкой (ее можно добавить в конец вышеперечисленных файлов):


@include control-users


Для применения изменений, внесенных в PAM-файлы, нужно перезапустить соответствующую службу:


service ssh restart

service lightdm restart


Далее создается файл /etc/loginusers. В нем просто перечисляются имена пользователей. Если включена работа по белому списку, в систему через SSH и LXDE будут допускаться только те пользователи, которые перечислены в данном файле. Если включена работа по черному списку, то в систему не будут допускаться пользователи, прописанные в этом файле.


Пример файла /etc/loginusers для белого списка:


# White list mode


# Unix users

root

adminvasya

internetuser


# Domain users

abivanov

sapetrov

igsidorov


Следует обратить внимание, что при работе в режиме белого списка, в список обязательно надо добавить пользователя root, чтобы можно было входить под рутом через SSH, либо хотя бы одного реального Unix-пользователя, чтобы можно было залогиниться и переключиться на рута через su/sudo.


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


Применение изменений в файле /etc/loginusers так же требует перезагрузки сервисов:


service ssh restart

service lightdm restart




Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования