sudo, &, -b ਜਾਂ --daemon: OpenVPN ਕਲਾਇੰਟ ਨੂੰ ਬੈਕਗਰਾਊਂਡ ਵਿੱਚ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈ
ਐਂਪਰਸੈਂਡ ਟਰਮੀਨਲ ਨੂੰ ਆਜ਼ਾਦ ਕਰਦਾ ਹੈ, ਲੌਗਇਨ ਨੂੰ ਨਹੀਂ। sudo -b, --daemon ਅਤੇ ਸੇਵਾ ਇੰਸਟੈਂਸ ਦੀ ਤੁਲਨਾ ਕਰੋ—ਪ੍ਰਕਿਰਿਆ ਦਾ ਮਾਲਕ ਕੌਣ ਹੈ ਅਤੇ ਪ੍ਰੋਂਪਟ ਦਾ ਜਵਾਬ ਕੌਣ ਦਿੰਦਾ ਹੈ।
‘ਇਸਨੂੰ ਬੈਕਗਰਾਊਂਡ ਵਿੱਚ ਚਲਾਓ’ ਵਾਕ ਵਿੱਚ ਦੋ ਸਵਾਲ ਲੁਕੇ ਹੋਏ ਹਨ। ਪਹਿਲਾ ਇਹ ਕਿ ਕੀ ਇਹ ਵਰਤੋਂਕਾਰ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਾਲੀ ਪ੍ਰਕਿਰਿਆ ਸ਼ੁਰੂ ਕਰ ਸਕਦਾ ਹੈ; ਦੂਜਾ ਇਹ ਕਿ ਕੀ ਕੋਈ ਟਰਮੀਨਲ ਵਿੱਚ ਟਾਈਪ ਕੀਤੇ ਬਿਨਾਂ ਸੈਸ਼ਨ ਜਾਰੀ ਰਹਿ ਸਕਦਾ ਹੈ। ਸ਼ੈੱਲ ਦਾ ਐਂਪਰਸੈਂਡ ਕਿਸੇ ਦਾ ਵੀ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦਾ, ਅਤੇ sudo ਪਾਸਵਰਡ ਨੂੰ ਵੇਰੀਏਬਲ ਵਿੱਚ ਰੱਖਣ ਵਾਲੀ ਸਕ੍ਰਿਪਟ ਪਹਿਲੇ ਦਾ ਮਾੜਾ ਜਵਾਬ ਦਿੰਦੀ ਹੈ ਅਤੇ ਦੂਜੇ ਨੂੰ ਅਛੂਤਾ ਛੱਡ ਦਿੰਦੀ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਵੱਖ ਕਰੋ, ਫਿਰ ਵਿਕਲਪਾਂ ਦੀ ਤੁਲਨਾ ਸੌਖੀ ਹੋ ਜਾਂਦੀ ਹੈ।
ਤਿੰਨਾਂ ਉਮੀਦਵਾਰਾਂ ਦੀ ਤੁਲਨਾ ਮਾਲਕੀ 'ਤੇ ਕਰੋ, ਸੁਵਿਧਾ 'ਤੇ ਨਹੀਂ।
ਟਰਮੀਨਲ ਛੱਡਣ ਦੇ ਤਿੰਨ ਤਰੀਕੇ, ਤਿੰਨ ਵੱਖਰੇ ਮਾਲਕ
ਕਿਸੇ ਹੁਕਮ ਨਾਲ ਐਂਪਰਸੈਂਡ ਜੋੜਨ ਨਾਲ ਸ਼ੈੱਲ ਇਸਨੂੰ ਬੈਕਗਰਾਊਂਡ ਜੌਬ ਵਜੋਂ ਚਲਾਉਂਦਾ ਹੈ, ਅਤੇ ਜੌਬ ਅਜੇ ਵੀ ਉਸੇ ਸ਼ੈੱਲ ਦਾ ਹੁੰਦਾ ਹੈ। ਪ੍ਰੋਗਰਾਮ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਵੀ sudo ਪੁੱਛ ਸਕਦਾ ਹੈ, ਅਤੇ OpenVPN ਬਾਅਦ ਵਿੱਚ ਕੀ ਪਾਸਫਰੇਜ਼ ਜਾਂ ਲੌਗਇਨ ਲਈ ਪੁੱਛ ਸਕਦਾ ਹੈ। ਇਨਪੁਟ ਦੀ ਉਮੀਦ ਕਰਨ ਵਾਲੇ ਹੁਕਮ ਨੂੰ ਬੈਕਗਰਾਊਂਡ ਵਿੱਚ ਰੱਖਣ ਨਾਲ ਅਜਿਹੀ ਪ੍ਰਕਿਰਿਆ ਬਣਦੀ ਹੈ ਜੋ ਉਸ ਟਰਮੀਨਲ ਦੀ ਉਡੀਕ ਕਰਦੀ ਹੈ ਜਿਸਨੂੰ ਕੋਈ ਨਹੀਂ ਵੇਖ ਰਿਹਾ। ਟਰਮੀਨਲ ਆਜ਼ਾਦ ਹੁੰਦਾ ਹੈ; ਇੰਟਰੈਕਸ਼ਨ ਨਹੀਂ।
ਇਹ ਸਭ ਤੋਂ ਸਸਤਾ ਵਿਕਲਪ ਹੈ ਅਤੇ ਸਭ ਤੋਂ ਉਲਝਣ ਭਰੇ ਢੰਗ ਨਾਲ ਅਸਫਲ ਹੁੰਦਾ ਹੈ, ਕਿਉਂਕਿ ਪ੍ਰੋਂਪਟ ਉਸ ਥਾਂ ਦਿਖਦਾ ਹੈ ਜਿੱਥੋਂ ਆਪਰੇਟਰ ਪਹਿਲਾਂ ਹੀ ਜਾ ਚੁੱਕਾ ਹੈ।
sudo -b ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਹੈਂਡਲਰ ਨਹੀਂ ਹੈ
sudo -b sudo ਦੇ ਆਪਣੇ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਤੋਂ ਹੁਕਮ ਨੂੰ ਬੈਕਗਰਾਊਂਡ ਵਿੱਚ ਚਲਾਉਂਦਾ ਹੈ, ਜੋ ਸੁਣਨ ਵਿੱਚ ਗੁੰਮ ਵਿਸ਼ੇਸ਼ਤਾ ਵਾਂਗ ਲੱਗਦਾ ਹੈ ਪਰ ਹੈ ਨਹੀਂ। sudo ਮੈਨੂਅਲ ਅਨੁਸਾਰ, ਉਸ ਮੋਡ ਵਿੱਚ ਇੰਟਰੈਕਟਿਵ ਹੁਕਮ ਆਮ ਤੌਰ 'ਤੇ ਗਲਤ ਵਿਵਹਾਰ ਕਰਦੇ ਹਨ, ਅਤੇ ਸ਼ੈੱਲ ਜੌਬ ਕੰਟਰੋਲ ਇਸ ਵੱਲੋਂ ਬਣਾਈਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਸੰਭਾਲ ਨਹੀਂ ਸਕਦਾ। ਇਹ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਰਕਾਉਂਦਾ ਹੈ ਪਰ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦੇਣ ਦਾ ਕੋਈ ਤਰੀਕਾ ਨਹੀਂ ਦਿੰਦਾ। ਇਸ ਵਿੱਚ ਕੁਝ ਵੀ ਨਿੱਜੀ ਕੁੰਜੀ ਦਾ ਪਾਸਫਰੇਜ਼ ਜਾਂ ਗੇਟਵੇ ਲੌਗਇਨ ਨਹੀਂ ਦਿੰਦਾ।
ਜੇ ਕਨੈਕਸ਼ਨ ਨੂੰ ਇੰਟਰੈਕਸ਼ਨ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਹੱਲ ਸਮਰਥਿਤ ਗੈਰ-ਇੰਟਰੈਕਟਿਵ ਪ੍ਰਮਾਣੀਕਰਨ ਵਿਵਸਥਾ ਹੈ, ਉਹੀ ਪ੍ਰੋਂਪਟ ਸ਼ੁਰੂ ਕਰਨ ਦਾ ਹੋਰ ਤਰੀਕਾ ਨਹੀਂ।
--daemon ਪ੍ਰੋਗਰਾਮ ਬਦਲਦਾ ਹੈ, ਲੌਗਇਨ ਨਹੀਂ
--daemon ਇਨੀਸ਼ੀਅਲਾਈਜ਼ੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਵੱਖ ਹੋਣ ਲਈ OpenVPN ਨੂੰ ਹੀ ਕਹਿੰਦਾ ਹੈ। 2.6 ਮੈਨੂਅਲ ਨੋਟ ਕਰਦਾ ਹੈ ਕਿ syslog ਰੀਡਾਇਰੈਕਸ਼ਨ ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਵਿਕਲਪ ਪਾਰਸ ਹੁੰਦਾ ਹੈ, ਹਾਲਾਂਕਿ ਵੱਖ ਹੋਣਾ ਬਾਅਦ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਸੁਨੇਹੇ ਉਮੀਦ ਨਾਲੋਂ ਪਹਿਲਾਂ ਟਰਮੀਨਲ ਵਿੱਚ ਦਿਖਣਾ ਬੰਦ ਕਰ ਸਕਦੇ ਹਨ। ਉਸ ਬਿੰਦੂ ਤੋਂ ਬਾਅਦ ਦੀ ਚੁੱਪ ਟਨਲ ਬਾਰੇ ਕੁਝ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ। ਸਪਸ਼ਟ --log ਜਾਂ --log-append ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ ਆਉਟਪੁੱਟ ਉਸ ਥਾਂ ਪਹੁੰਚੇ ਜਿੱਥੋਂ ਤੁਸੀਂ ਪੜ੍ਹ ਸਕੋ।
ਡੈਮਨ ਮੋਡ ਕੰਸੋਲ ਨੂੰ ਵੀ ਪੱਕੇ ਤੌਰ 'ਤੇ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਸੁਰੱਖਿਅਤ ਨਿੱਜੀ ਕੁੰਜੀ ਨੂੰ ਉਸ ਮੋਡ ਵਿੱਚ askpass ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਕੰਸੋਲ ਤੋਂ ਦਿੱਤੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਕੈਸ਼ਿੰਗ ਵਿਕਲਪਾਂ ਨਾਲ ਮਿਲ ਕੇ ਬਾਅਦ ਦੇ ਮੁੜ-ਪ੍ਰਮਾਣੀਕਰਨ ਨੂੰ ਪੁੱਛਣ ਦੀ ਥਾਂ ਤੋਂ ਬਿਨਾਂ ਛੱਡ ਸਕਦੇ ਹਨ। ਬੈਕਗਰਾਊਂਡ ਸ਼ੁਰੂਆਤ ਆਪਣੇ ਪਹਿਲੇ ਕੁੰਜੀ ਨਵੀਨੀਕਰਨ ਤੱਕ ਟਿਕੇਗੀ ਇਹ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ ਸਥਾਪਿਤ ਵਰਜ਼ਨ ਨਾਲ ਪ੍ਰਮਾਣੀਕਰਨ ਮਾਡਲ ਜਾਂਚੋ।
sudo ਪੜਤਾਲ ਕੀ ਦਿੰਦੀ ਹੈ ਅਤੇ ਕੀ ਨਹੀਂ
sudo -v ਕੈਸ਼ ਕੀਤੇ ਸਥਾਨਕ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਜਾਂ ਤਾਜ਼ਾ ਕਰਦਾ ਹੈ, ਨੀਤੀ ਮੰਗੇ ਤਾਂ ਪ੍ਰਮਾਣੀਕਰਨ ਕਰਦਾ ਹੈ। ਇਹ OpenVPN ਸ਼ੁਰੂ ਨਹੀਂ ਕਰਦਾ, ਗੇਟਵੇ ਨਾਲ ਪ੍ਰਮਾਣੀਕਰਨ ਨਹੀਂ ਕਰਦਾ, ਅਤੇ ਸਕ੍ਰਿਪਟ ਦੇ ਬਾਅਦ ਵਾਲੇ ਹੁਕਮ ਦੀ ਆਗਿਆ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੰਦਾ। sudo -n ਉਲਟ ਅਰਥ ਦਿੰਦਾ ਹੈ: ਨਾ ਪੁੱਛੋ, ਅਸਫਲ ਹੋਵੋ। ਇਹ ਸਥਾਨਕ ਅਧਿਕਾਰ ਅਸਫਲਤਾ ਨੂੰ ਸਪਸ਼ਟ ਕਰਦਾ ਹੈ, ਜੋ ਲਾਹੇਵੰਦ ਹੈ, ਅਤੇ OpenVPN ਬਾਅਦ ਵਿੱਚ ਕੀ ਮੰਗੇਗਾ ਇਸ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ।
ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਵਿਕਲਪ ਸਭ ਨੂੰ ਪਾਸਵਰਡ ਰਹਿਤ ਹੁਕਮ ਦੇਣ ਜਾਂ ਪ੍ਰਸ਼ਾਸਕ ਦਾ ਪਾਸਵਰਡ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਭੇਜਣ ਦਾ ਕਾਰਨ ਨਹੀਂ ਹੈ।
ਨਿਰੀਖਣਯੋਗ ਮਾਲਕ ਨੂੰ ਤਰਜੀਹ ਦਿਓ
ਮਸ਼ੀਨ ਦੀ ਮਾਲਕੀ ਵਾਲੀ ਟਨਲ ਲਈ, ਵੰਡ ਵੱਲੋਂ ਸਮਰਥਿਤ ਸੇਵਾ ਇੰਸਟੈਂਸ ਵਰਤੋ। ਅਜਿਹਾ ਮਾਲਕ ਸ਼ੁਰੂਆਤ, ਰੋਕ, ਸਥਿਤੀ ਅਤੇ ਲੌਗ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਤੁਹਾਡਾ ਸੈਸ਼ਨ ਖਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ ਟਿਕਦਾ ਹੈ। ਸ਼ੈੱਲ ਬੈਕਗਰਾਊਂਡਿੰਗ, ਡੈਮਨਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਰੀਸਟਾਰਟ ਲੂਪ ਨੂੰ ਇੱਕ-ਦੂਜੇ ਦੁਆਲੇ ਜੋੜਨ ਨਾਲ ਇੱਕ ਟਨਲ ਲਈ ਤਿੰਨ ਮਾਲਕ ਬਣਦੇ ਹਨ ਅਤੇ ਕਿਹੜਾ ਚੱਲ ਰਿਹਾ ਹੈ ਇਸਦਾ ਸਪਸ਼ਟ ਜਵਾਬ ਨਹੀਂ ਹੁੰਦਾ।
ਤੁਸੀਂ ਜੋ ਵੀ ਚੁਣੋ, ਟਨਲ ਜਿਸ ਸਰੋਤ ਲਈ ਮੌਜੂਦ ਹੈ ਉਸਦੀ ਪੁਸ਼ਟੀ ਕਰੋ। ਸਫਲ ਸ਼ੁਰੂਆਤ ਬੇਨਤੀ ਪ੍ਰਕਿਰਿਆ ਘਟਨਾ ਹੈ, ਕੰਮ ਕਰਦੇ ਕਨੈਕਸ਼ਨ ਦਾ ਸਬੂਤ ਨਹੀਂ।