File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/auth/__pycache__/mysql.cpython-310.pyc
o
�N�g2 � @ s� d Z ddlZe�e�ZzddlZddlZddlZddlm Z W n1 e
yP zddlZe�� ddlZddlZddlZddl
m Z W n e
yM dZY nw Y nw dd� Zdd� Zdd � ZdS )
a
Provide authentication using MySQL.
When using MySQL as an authentication backend, you will need to create or
use an existing table that has a username and a password column.
To get started, create a simple table that holds just a username and
a password. The password field will hold a SHA256 checksum.
.. code-block:: sql
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(25) DEFAULT NULL,
`password` varchar(70) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
To create a user within MySQL, execute the following statement.
.. code-block:: sql
INSERT INTO users VALUES (NULL, 'diana', SHA2('secret', 256))
.. code-block:: yaml
mysql_auth:
hostname: localhost
database: SaltStack
username: root
password: letmein
auth_sql: 'SELECT username FROM users WHERE username = "{0}" AND password = SHA2("{1}", 256)'
The `auth_sql` contains the SQL that will validate a user to ensure they are
correctly authenticated. This is where you can specify other SQL queries to
authenticate users.
Enable MySQL authentication.
.. code-block:: yaml
external_auth:
mysql:
damian:
- test.*
:depends: - MySQL-python Python module
� N)�OperationalErrorc C s t t�tdu r
dfS dfS )z:
Confirm that a python mysql client is installed.
Nz!No python mysql client installed.� )�bool�MySQLdb� r r �C/opt/saltstack/salt/lib/python3.10/site-packages/salt/auth/mysql.py�__virtual__J s r c
C s� i } z+t d d | d<