Hello,

(1)
Since MariaDB 10.4, there is a new version 2 of the PAM plugin, which
has been made default.
Based on your message it looks like you are using the PAMv2 plugin,
which is what I would recommend, though you can check again by:
MariaDB [(none)]> show plugins soname like '%pam%';
+------+---------------+----------------+----------------+---------+
| Name | Status        | Type           | Library        | License |
+------+---------------+----------------+----------------+---------+
| pam  | ACTIVE        | AUTHENTICATION | auth_pam.so    | GPL     |
| pam  | NOT INSTALLED | AUTHENTICATION | auth_pam_v1.so | GPL     |
+------+---------------+----------------+----------------+---------+


(2)
> On Mon, Aug 2, 2021 at 5:35 PM Michael Barkdoll <mabarkd...@gmail.com> wrote:
>> I see Redhat has issues with MariaDB 10.3 working with pam plugin but it 
>> sounded like 10.5 should work?
>> https://bugzilla.redhat.com/show_bug.cgi?id=1942330
We are not aware of any more issues with the MariaDB PAM plugin at this moment.


(3)
I tried to reproduce your issue on RHEL-8.4.0 with the RPMs from the
mariadb-10.5 module provided by Red Hat.

The authentication for the local users works out-of-the-box.
I didn't need to use your workaround:
> On Mon, Aug 2, 2021 at 10:07 PM Michael Barkdoll <mabarkd...@gmail.com> wrote:
>> I was able to get local users working by renaming the /etc/pam.d/mariadb to 
>> /etc/pam/d/mysql contents:

The "... USING 'mariadb';" clause worked as expected for me.
When omitted, the authentication stopped working because I only
specified PAM configuration for the PAM 'mariadb' service, not 'mysql'
service which is the default one used by MariaDB server.

I haven't tested Active Directory.


(4)
I also spotted you are using both:

CREATE USER 'user'@'%' IDENTIFIED VIA pam USING 'mariadb';
GRANT SELECT ON db.* TO 'user'@'%' IDENTIFIED VIA pam;

My understanding of the upstream documentation:
  https://mariadb.com/kb/en/authentication-plugin-pam/#creating-users
is that only one of those lines is needed.

--

Michal

--

Michal Schorm
Software Engineer
Core Services - Databases Team
Red Hat

--

On Mon, Aug 2, 2021 at 11:18 PM Michael Barkdoll <mabarkd...@gmail.com> wrote:
>
> Thanks, I used /etc/pam.d/mysql to add a pam_exec.so line as well to try to 
> output the environment variables.
>
> # cat /etc/pam.d/mysql
> auth optional pam_exec.so log=/t/pam_output.txt /t/pam_log_script.sh
> auth required pam_sss.so
> account optional pam_exec.so log=/t/pam_output.txt /t/pam_log_script.sh
> account required pam_sss.so
>
> cat /t/pam_log_script.sh
> #!/bin/bash
> echo `env`
>
> # cat /t/pam_output.txt
> *** Mon Aug  2 16:08:15 2021
> PAM_TYPE=auth PAM_USER=adadmin PWD=/var/lib/mysql SHLVL=1 PAM_SERVICE=mysql 
> _=/usr/bin/env
> *** Mon Aug  2 16:08:15 2021
> PAM_TYPE=account PAM_USER=adadmin PWD=/var/lib/mysql 
> KRB5CCNAME=FILE:/tmp/krb5cc_1767884463_WAaH4K SHLVL=1 PAM_SERVICE=mysql 
> _=/usr/bin/env
>
> Also, I turned on rsyslogd and I see the following in /var/log/secure:
> Aug  2 16:08:15 server auth_pam_tool[63628]: pam_sss(mysql:auth): 
> authentication success; logname= uid=0 euid=0 tty= ruser= rhost= user=adadmin
> Aug  2 16:08:15 server auth_pam_tool[63628]: pam_sss(mysql:account): Access 
> denied for user adadmin: 6 (Permission denied)
>
> On Mon, Aug 2, 2021 at 3:49 PM Honza Horak <hho...@redhat.com> wrote:
>>
>> Sharing with folks maintaining the RPMs on the RHEL side, Michal and Lukas, 
>> whether it looks familiar by any chance. You're right that the pam module 
>> should work fine with 10.5, the BZ you referenced was only related to 10.3. 
>> The theory that it might be something wrong with the sssd rather than 
>> mariadb-pam looks probable to me, but I'm not an expert on that front.
>>
>> Honza
>>
>> On Mon, Aug 2, 2021 at 10:07 PM Michael Barkdoll <mabarkd...@gmail.com> 
>> wrote:
>>>
>>> Sorry, I wasn't replying to the listserv initially.  Complete list of 
>>> packages available here:
>>> https://pastebin.com/raw/Ux8sac73
>>>
>>> Operating System is Rocky linux 8.4 should be 100% binary compatible with 
>>> Redhat 8.4.
>>> I used mariadb AppStream 10.5 for the install with maria-pam 10.5.9 as 
>>> well.  I will confirm the same on Redhat 8.4.
>>>
>>> Update:
>>> I was able to get local users working by renaming the /etc/pam.d/mariadb to 
>>> /etc/pam/d/mysql contents:
>>> auth required pam_unix.so audit
>>> account required pam_unix.so audit
>>>
>>> However, I still can't get AD user accounts to work even with the 
>>> pam_sss.so --  I was able to confirm pam is working changing 
>>> /etc/pam.d/mysql to:
>>> auth required pam_permit.so audit
>>> account required pam_permit.so audit
>>>
>>> But, then no authentication is taking place.  I think the issue must be 
>>> with sssd's pam_sss.so.
>>>
>>> I tried increasing the verbosity of the sssd logs.
>>> https://pastebin.com/raw/FsJv4DYR
>>> https://pastebin.com/raw/2TKhYygT
>>>
>>> Not sure if there is anything useful in there.
>>>
>>> On Mon, Aug 2, 2021 at 12:31 PM Honza Horak <hho...@redhat.com> wrote:
>>>>
>>>> Michael, can you share, please, which operating system and builds 
>>>> (upstream packages or those from the distribution) do you use?
>>>>
>>>> Thanks,
>>>> Honza
>>>>
>>>> On Mon, Aug 2, 2021 at 5:35 PM Michael Barkdoll <mabarkd...@gmail.com> 
>>>> wrote:
>>>>>
>>>>> Hi, I'm having issues getting the pam plugin to work with Rocky Linux 8 
>>>>> (RHEL 8) with AppStream MariaDB 10.5.  I've installed mariadb appstream 
>>>>> for 10.5 and mariadb-pam packages.
>>>>>
>>>>> Added the following to /etc/my.cnf.d:
>>>>> [mariadb]
>>>>> plugin_load_add = auth_pam
>>>>>
>>>>> My sssd is joined to Active Directory.  I've created /etc/pam.d/mariadb 
>>>>> trying both local pam_unix and pam_sss configurations:
>>>>> # /etc/pam.d/mariadb for local accounts
>>>>> auth required pam_unix.so audit
>>>>> account required pam_unix.so audit
>>>>>
>>>>> # /etc/pam.d/mariadb for sssd active directory accounts
>>>>> auth required pam_sss.so
>>>>> account required pam_sss.so
>>>>>
>>>>> Tried creating local accounts with:
>>>>> #CREATE USER 'user'@'%' IDENTIFIED VIA pam USING 'mariadb';
>>>>> #GRANT SELECT ON db.* TO 'user'@'%' IDENTIFIED VIA pam;
>>>>> #CREATE USER 'user2'@'%' IDENTIFIED VIA pam;
>>>>> #GRANT SELECT ON db.* TO 'user2'@'%' IDENTIFIED VIA pam;
>>>>>
>>>>> I've also tried creating AD accounts:
>>>>> #CREATE USER 'aduser'@'%' IDENTIFIED VIA pam USING 'mariadb';
>>>>> #GRANT SELECT ON db.* TO 'aduser'@'%' IDENTIFIED VIA pam;
>>>>> #CREATE USER 'adu...@college.edu'@'%' IDENTIFIED VIA pam USING 'mariadb';
>>>>> #GRANT SELECT ON db.* TO 'adu...@college.edu'@'%' IDENTIFIED VIA pam;
>>>>>
>>>>> I see Redhat has issues with MariaDB 10.3 working with pam plugin but it 
>>>>> sounded like 10.5 should work?
>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1942330
>>>>>
>>>>> I feel like I'm missing something in my /etc/sssd/sssd.conf file or some 
>>>>> pam configuration steps.
>>>>>
>>>>> I'm using authselect with sssd:
>>>>> authselect select custom/user-profile with-mkhomedir with-sudo 
>>>>> with-pamaccess
>>>>>
>>>>> All attempts to `mysql -u user -p` fail.
>>>>>
>>>>> MariaDB [(none)]> show plugins;
>>>>> | pam                           | ACTIVE   | AUTHENTICATION     | 
>>>>> auth_pam.so | GPL     |
>>>>>
>>>>> I tried adding a [pam] section to sssd.
>>>>>
>>>>> [pam]
>>>>> pam_public_domains = all
>>>>> pam_verbosity = 3
>>>>>
>>>>> Didn't seem to help.  I used realmd to join AD.  Any help is much 
>>>>> appreciated.
>>>>>
>>>>> mysql -u user -p
>>>>> Enter password:
>>>>> ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using 
>>>>> password: NO)
>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~maria-discuss
>>>>> Post to     : maria-discuss@lists.launchpad.net
>>>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>>>> More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~maria-discuss
Post to     : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to