VPN 'ਤੇ MariaDB: ਸਰਵਰ ਕਿਹੜਾ user@host ਦੇਖਦਾ ਹੈ?
ਖਾਤਾ ਵਰਤੋਂਕਾਰ ਅਤੇ ਹੋਸਟ ਇਕੱਠੇ ਮਿਲ ਕੇ ਚੁਣਿਆ ਜਾਂਦਾ ਹੈ। ਸਰਵਰ ਨੇ ਜੋ ਸਰੋਤ ਦੇਖਿਆ ਉਹ ਲੱਭੋ, CURRENT_USER() ਪੜ੍ਹੋ, ਫਿਰ ਉਹੀ ਕਤਾਰ ਠੀਕ ਕਰੋ, ਇਜਾਜ਼ਤ ਨਹੀਂ।
ਇੱਕੋ ਵਰਤੋਂਕਾਰ ਨਾਮ ਦੋ ਵੱਖਰੇ ਰਾਹਾਂ ਤੋਂ ਲਿਖੋ ਅਤੇ MariaDB ਤੁਹਾਨੂੰ ਦੋ ਵੱਖਰੇ ਖਾਤਿਆਂ ਵਜੋਂ ਪ੍ਰਮਾਣਿਤ ਕਰ ਸਕਦਾ ਹੈ। ਖਾਤੇ ਵਰਤੋਂਕਾਰ ਅਤੇ ਹੋਸਟ ਇਕੱਠੇ 'ਤੇ ਅਧਾਰਿਤ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ 'reporter'@'localhost' ਅਤੇ 'reporter'@'10.90.0.23' ਵੱਖਰੇ ਪਾਸਵਰਡ ਅਤੇ ਵੱਖਰੀਆਂ ਇਜਾਜ਼ਤਾਂ ਵਾਲੀਆਂ ਵੱਖਰੀਆਂ ਕਤਾਰਾਂ ਹਨ। VPN 'ਤੇ ਦਿਲਚਸਪ ਸਵਾਲ ਇਹ ਨਹੀਂ ਕਿ ਵਰਤੋਂਕਾਰ ਨੇ ਕਿਹੜਾ ਨਾਮ ਲਿਖਿਆ, ਸਗੋਂ ਇਹ ਹੈ ਕਿ ਸਰਵਰ ਨੇ ਕਿਹੜਾ ਸਰੋਤ ਪਤਾ ਦੇਖਿਆ।
ਉਹ ਸਰੋਤ ਨਿਰਧਾਰਿਤ ਕਰੋ ਜੋ ਸਰਵਰ ਅਸਲ ਵਿੱਚ ਦੇਖਦਾ ਹੈ
ਲੈਪਟਾਪ ਤੋਂ ਨਹੀਂ, ਡੇਟਾਬੇਸ ਹੋਸਟ ਤੋਂ ਪਿੱਛੇ ਵੱਲ ਕੰਮ ਕਰੋ। ਕਲਾਇੰਟ ਜੋ ਪਤਾ ਮੰਨਦਾ ਹੈ ਕਿ ਉਸ ਕੋਲ ਹੈ, ਉਹ ਕਈ ਸੰਭਾਵਨਾਵਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਹੈ:
| Path | Source MariaDB sees |
|---|---|
| Routed tunnel, no translation | The client's inner VPN address |
| Gateway source translation | The gateway's translated address |
| SSH local forward | The SSH server's address |
| Public exit, no tunnel | Whatever the ISP handed out |
ਇਸਨੂੰ ਤੈਅ ਕਰਨ ਲਈ ਸਰਵਰ-ਪਾਸੇ ਦੇ ਸਬੂਤ ਵਰਤੋ। ਕਨੈਕਸ਼ਨ ਲਾਗ, ਸਰਗਰਮ ਸੈਸ਼ਨਾਂ ਦੀ ਸੂਚੀ ਜਾਂ ਆਮ ਲਾਗ ਵਿੱਚ ਇੱਕ ਅਸਥਾਈ ਐਂਟਰੀ ਉਹ ਪਤਾ ਦਿਖਾਉਂਦੀ ਹੈ ਜੋ ਸਰਵਰ ਨੇ ਸਵੀਕਾਰ ਕੀਤਾ। ਬ੍ਰਾਊਜ਼ਰ ਤੋਂ ਲੈਪਟਾਪ ਦਾ ਜਨਤਕ IP ਇੱਕ ਹੋਰ ਤੱਥ ਹੈ ਅਤੇ ਅਕਸਰ ਭੁਲਾਉਣ ਵਾਲਾ ਹੁੰਦਾ ਹੈ।
MariaDB ਵੱਲੋਂ ਚੁਣੇ ਖਾਤੇ ਨਾਲ ਮਿਲਾਓ
ਖਾਤਾ ਚੋਣ ਇਜਾਜ਼ਤਾਂ ਦੇ ਸੰਘ ਦੀ ਬਜਾਏ ਦਸਤਾਵੇਜ਼ੀ ਕ੍ਰਮ ਦੀ ਪਾਲਣਾ ਕਰਦੀ ਹੈ। ਸਹੀ ਹੋਸਟ ਮੇਲ ਨੂੰ ਵਾਈਲਡਕਾਰਡ ਉੱਤੇ ਤਰਜੀਹ ਹੈ, ਅਤੇ ਅਗਿਆਤ ਵਰਤੋਂਕਾਰ ਦੀਆਂ ਕਤਾਰਾਂ ਉਹਨਾਂ ਲੋਕਾਂ ਨੂੰ ਹੈਰਾਨ ਕਰਨ ਵਾਲੇ ਤਰੀਕਿਆਂ ਨਾਲ ਮੇਲ ਵਿੱਚ ਹਿੱਸਾ ਲੈਂਦੀਆਂ ਹਨ ਜੋ ਮੰਨਦੇ ਹਨ ਕਿ ਸਿਰਫ਼ ਨਾਮ ਹੀ ਫੈਸਲਾ ਕਰਦਾ ਹੈ। ਸਰਵਰ ਇੱਕ ਕਤਾਰ ਚੁਣਦਾ ਹੈ; ਇਹ ਇੱਕੋ ਨਾਮ ਵਾਲੀ ਹਰ ਕਤਾਰ ਦੇ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰਾਂ ਨੂੰ ਨਹੀਂ ਮਿਲਾਉਂਦਾ। ਸੰਦਰਭ ਨੂੰ ਇੱਕ ਵਾਰ ਪੜ੍ਹਨਾ ਅੱਧਾ ਦਿਨ ਅੰਦਾਜ਼ੇ ਪਰਖਣ ਨਾਲੋਂ ਵੱਧ ਕੀਮਤੀ ਹੈ।
ਇਸ ਦਾ ਮਤਲਬ ਹੈ ਕਿ 'reporter'@'%' ਵਿੱਚ ਇਜਾਜ਼ਤ ਜੋੜਨ ਨਾਲ ਕੁਝ ਨਹੀਂ ਬਦਲ ਸਕਦਾ ਜੇ ਸੈਸ਼ਨ 'reporter'@'10.90.0.23' ਵਜੋਂ ਪ੍ਰਮਾਣਿਤ ਹੋਇਆ ਹੋਵੇ। ਸੁਧਾਰ ਉਸੇ ਕਤਾਰ 'ਤੇ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਚੁਣੀ ਗਈ ਸੀ, ਇਸ ਲਈ ਖਾਤੇ ਦੀ ਪਛਾਣ ਇਜਾਜ਼ਤਾਂ ਦੀ ਸੰਪਾਦਨਾ ਤੋਂ ਪਹਿਲਾਂ ਆਉਂਦੀ ਹੈ।
ਉਹ ਖਾਤਾ ਪੜ੍ਹੋ ਜੋ ਸੈਸ਼ਨ ਅਸਲ ਵਿੱਚ ਵਰਤਦਾ ਹੈ
SELECT USER(), CURRENT_USER();
SHOW GRANTS;
CURRENT_USER() ਉਸ ਖਾਤੇ ਦਾ ਨਾਮ ਦੱਸਦਾ ਹੈ ਜਿਸਨੇ ਸੈਸ਼ਨ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ; USER() ਦੱਸਦਾ ਹੈ ਕਿ ਕਲਾਇੰਟ ਨੇ ਕੀ ਮੰਗਿਆ ਅਤੇ ਵੱਖਰਾ ਹੋ ਸਕਦਾ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਆਮ ਉੱਪਰੀ-ਪੱਧਰੀ ਕਵੈਰੀ ਵਜੋਂ ਚਲਾਓ, ਪਰਿਭਾਸ਼ਕ ਸੰਦਰਭ ਵਾਲੀ ਸੰਗ੍ਰਹਿਤ ਰੂਟੀਨ ਦੇ ਅੰਦਰੋਂ ਨਹੀਂ, ਨਹੀਂ ਤਾਂ ਜਵਾਬ ਤੁਹਾਡੇ ਸੈਸ਼ਨ ਦੀ ਬਜਾਏ ਰੂਟੀਨ ਦੇ ਮਾਲਕ ਦਾ ਵਰਣਨ ਕਰਨਗੇ।
ਅਸਫਲ ਲਾਗਇਨ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਵੀ ਨਹੀਂ ਚਲਾ ਸਕਦਾ, ਅਤੇ ਇਹੀ ਉਹ ਸਥਿਤੀ ਹੈ ਜਿੱਥੇ ਪ੍ਰਬੰਧਕ ਨੂੰ ਖਾਤਾ ਪਰਿਭਾਸ਼ਾਵਾਂ ਅਤੇ ਸਰਵਰ ਦੇ ਕਨੈਕਸ਼ਨ ਸਬੂਤ ਜਾਂਚਣੇ ਪੈਂਦੇ ਹਨ। ਇਸ ਲਈ ਤਿਆਰ ਰਹੋ: ਰੱਦ ਕੀਤੀ ਲਾਗਇਨ ਡੀਬੱਗ ਕਰਨ ਵਾਲੇ ਵਿਅਕਤੀ ਕੋਲ ਆਮ ਤੌਰ 'ਤੇ ਪੁੱਛਣ ਲਈ ਕੋਈ SQL ਸੈਸ਼ਨ ਨਹੀਂ ਹੁੰਦਾ।
ਪਹੁੰਚ ਨੂੰ ਪ੍ਰਮਾਣੀਕਰਨ ਤੋਂ ਵੱਖ ਕਰੋ
ਗਲਤੀ ਦਾ ਟੈਕਸਟ ਤੁਹਾਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕਿਹੜੀ ਪਰਤ ਵਿੱਚ ਹੋ। ਰੱਦ ਕੀਤਾ ਕਨੈਕਸ਼ਨ ਜਾਂ ਸਮਾਂ ਸਮਾਪਤੀ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕਲਾਇੰਟ ਕਦੇ ਸਰੋਤੇ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਿਆ, ਇਸ ਲਈ ਖਾਤਾ ਅਤੇ ਉਸਦਾ ਪਾਸਵਰਡ ਅਜੇ ਸਵਾਲ ਵਿੱਚ ਨਹੀਂ ਹਨ। ਪਹੁੰਚ ਰੱਦ ਕੀਤੀ ਗਈ ਦਾ ਜਵਾਬ ਮਤਲਬ ਸਰਵਰ ਨੇ ਜਵਾਬ ਦਿੱਤਾ, ਜੋ ਪਹੁੰਚ ਸਾਬਤ ਕਰਦਾ ਹੈ ਅਤੇ ਖਾਤੇ, ਹੋਸਟ ਮੇਲ ਜਾਂ ਪ੍ਰਮਾਣ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।
ਨੈੱਟਵਰਕ ਦੀਆਂ ਪੂਰਵ-ਸ਼ਰਤਾਂ ਆਪਣੀ ਸੂਚੀ ਹਨ: ਸਿਰਫ਼ ਲੂਪਬੈਕ 'ਤੇ ਨਹੀਂ ਬਲਕਿ ਇੱਛਤ ਪਤੇ 'ਤੇ ਬੱਝਿਆ ਸਰੋਤਾ, ਕਨਫਿਗਰ ਕੀਤੇ ਪੋਰਟ 'ਤੇ ਮਨਜ਼ੂਰ ਟ੍ਰੈਫਿਕ ਅਤੇ ਜਵਾਬ ਲਈ ਵਾਪਸੀ ਦਾ ਰਾਹ। ਹਰ ਇੱਕ ਸੁਤੰਤਰ ਰੂਪ ਵਿੱਚ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ, ਅਤੇ ਕੰਮ ਕਰਨ ਵਾਲੀ ਸੁਰੰਗ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਨਹੀਂ ਦਰਸਾਉਂਦੀ। ਲੂਪਬੈਕ 'ਤੇ ਸਰੋਤਾ ਸਥਾਨਕ ਕਨੈਕਸ਼ਨ ਸਵੀਕਾਰਦਾ ਹੈ ਅਤੇ ਹਰ ਦੂਰਸਥ ਨੂੰ ਰੱਦ ਕਰਦਾ ਹੈ, ਜੋ ਫਾਇਰਵਾਲ ਬਲਾਕ ਵਰਗਾ ਦਿਖਣ ਵਾਲਾ ਰੱਦ ਕੀਤਾ ਕਨੈਕਸ਼ਨ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਨੈੱਟਵਰਕ ਟੀਮ ਨਾਲ ਟਿਕਟ ਖੋਲ੍ਹਣ ਤੋਂ ਪਹਿਲਾਂ ਬਾਈਂਡ ਪਤਾ ਜਾਂਚੋ। ਡੇਟਾਬੇਸ ਹੋਸਟ 'ਤੇ ss -lntp ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਪਤਾ ਅਤੇ ਪੋਰਟ ਅਸਲ ਵਿੱਚ ਸੁਣ ਰਹੇ ਹਨ, ਅਤੇ ਉਹ ਇੱਕ ਲਾਈਨ ਅੰਦਾਜ਼ਿਆਂ ਦੀ ਪੂਰੀ ਸ਼੍ਰੇਣੀ ਨੂੰ ਬਾਹਰ ਕਰ ਦਿੰਦੀ ਹੈ।
ਸੰਕੀਰਣ ਰੂਪ ਵਿੱਚ ਮੁਰੰਮਤ ਕਰੋ, ਫਿਰ ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਵਿੱਚ ਮੁੜ ਜਾਂਚ ਕਰੋ
ਸੰਸਥਾ ਦੀ ਮਨਜ਼ੂਰ ਪ੍ਰਕਿਰਿਆ ਰਾਹੀਂ ਇੱਛਤ ਹੋਸਟ-ਯੋਗ ਖਾਤਾ ਬਣਾਓ, ਟਿਕਟ ਵਿੱਚ ਚਿਪਕਾਏ ਸਾਂਝੇ ਪ੍ਰਮਾਣ ਦੀ ਬਜਾਏ ਸਮਰਥਿਤ ਸਟੋਰ ਤੋਂ ਪ੍ਰਮਾਣ ਨਾਲ। ਸਿਰਫ਼ ਉਹ ਸਕੀਮਾ ਕਾਰਵਾਈਆਂ ਦਿਓ ਜੋ ਕੰਮ ਲਈ ਲੋੜੀਂਦੀਆਂ ਹਨ। ਅਸਫਲ ਦੂਰਸਥ ਲਾਗਇਨ ਨੂੰ ਰੂਟ ਖਾਤਾ, ਸਭ-ਦਿਓ ਨੀਤੀ ਜਾਂ ਵਿਆਪਕ ਵਾਈਲਡਕਾਰਡ ਹੋਸਟ ਬਣਾਉਣਾ ਜਾਂਚ ਨੂੰ ਪਾਸ ਕਰਾ ਦਿੰਦਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਜੋ ਨਿਯੰਤਰਣ ਜਾਂਚ ਰਹੇ ਸੀ ਉਹ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਕਾਹਲੀ ਵਿੱਚ ਜੋੜੀ ਇਜਾਜ਼ਤ ਹੀ ਉਹ ਹੈ ਜੋ ਬਾਅਦ ਵਿੱਚ ਕੋਈ ਨਹੀਂ ਹਟਾਉਂਦਾ।
ਇੱਛਤ ਰਾਹ ਰਾਹੀਂ ਨਵੇਂ ਸੈਸ਼ਨ ਨਾਲ ਮੁੜ ਜਾਂਚ ਕਰੋ, ਫਿਰ ਨਕਾਰਾਤਮਕ ਕੇਸ ਜਾਂਚੋ। ਜੋ ਰਾਹ ਰੋਕਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਉਹ ਅਜੇ ਵੀ ਰੋਕਿਆ ਰਹੇ, ਅਤੇ ਜੋ ਕਾਰਵਾਈ ਨਹੀਂ ਦਿੱਤੀ ਗਈ ਉਹ ਅਜੇ ਵੀ ਰੱਦ ਰਹੇ। ਇਹ ਦੋ ਜਾਂਚਾਂ ਹੀ ਮੁਰੰਮਤ ਕੀਤੇ ਖਾਤੇ ਨੂੰ ਵਧਾਏ ਖਾਤੇ ਤੋਂ ਵੱਖ ਕਰਦੀਆਂ ਹਨ।
ਅੰਤ ਵਿੱਚ, ਦੇਖਿਆ ਗਿਆ ਸਰੋਤ ਪਤਾ ਅਤੇ ਖਾਤੇ ਦਾ ਨਾਮ ਇਕੱਠੇ ਦਰਜ ਕਰੋ। ਸੁਰੰਗ ਪਹੁੰਚ ਦਿੰਦੀ ਹੈ; MariaDB ਅਜੇ ਵੀ ਆਪਣਾ ਖਾਤਾ ਚੁਣਦਾ ਅਤੇ ਅਧਿਕਾਰ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਅਗਲੇ ਵਿਅਕਤੀ ਨੂੰ ਤੁਹਾਡਾ ਨਤੀਜਾ ਦੁਹਰਾਉਣ ਲਈ ਦੋਵੇਂ ਤੱਥ ਚਾਹੀਦੇ ਹਨ।