chroot ਛੱਡੀਏ ਜਾਂ iproute2 ਨੂੰ ਜੇਲ੍ਹ ਵਿੱਚ ਕਾਪੀ ਕਰੀਏ?
ਅਧੂਰੀ ਜੇਲ੍ਹ ਬੂਟ ਵੇਲੇ ਨਹੀਂ, ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ। ਸਖ਼ਤੀ ਢਿੱਲੀ ਕਰਨ ਅਤੇ ਬਾਈਨਰੀ ਫ਼ਾਈਲਾਂ ਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨਵੇਂ ਰੂਟ ਵਿੱਚ ਕਾਪੀ ਕਰਨ ਵਿੱਚੋਂ ਚੁਣੋ।
ਸੇਵਾ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ, ਕਲਾਇੰਟ ਜੁੜਦਾ ਹੈ, ਅਤੇ ਸਰਵਰ ਵੱਲ ਕਦੇ ਕੋਈ ਰੂਟ ਨਹੀਂ ਦਿਸਦਾ। ਜਾਂ ਡੈਮਨ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਇਨਕਾਰ ਕਰਦਾ ਹੈ ਅਤੇ ਉਹ ਕਮਾਂਡ ਦੱਸਦਾ ਹੈ ਜੋ ਉਹ ਚਲਾ ਨਹੀਂ ਸਕਿਆ। ਦੋਵੇਂ ਨਤੀਜੇ ਉਹਨਾਂ ਹੀ ਤਿੰਨ ਲਾਈਨਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦੇ ਹਨ, ਜੋ ਆਮ ਤੌਰ 'ਤੇ ਸਖ਼ਤੀ ਦੀ ਗਾਈਡ ਤੋਂ ਇਕੱਠੀਆਂ ਕਾਪੀ ਹੁੰਦੀਆਂ ਹਨ: ਗੈਰ-ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਾਲੇ ਖਾਤੇ 'ਤੇ ਜਾਣਾ, ਗਰੁੱਪ ਛੱਡਣਾ ਅਤੇ ਫ਼ਾਈਲ ਸਿਸਟਮ ਦਾ ਰੂਟ ਬਦਲਣਾ। ਤਿੰਨਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਫ਼ਾਈਲਾਂ ਲੁਕਾਉਂਦੀ ਹੈ, ਅਤੇ ਉਹਨਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਰਾਊਟਿੰਗ ਟੇਬਲ ਬਦਲਣ ਦਾ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ। ਉਹਨਾਂ ਨੂੰ ਵੱਖ ਕਰਨਾ ਹੀ ਇਹ ਸਿੱਖਣ ਦਾ ਤਰੀਕਾ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਅਸਲ ਵਿੱਚ ਕਿਹੜੀ ਲਾਈਨ ਚਾਹੀਦੀ ਹੈ।
ਜੇਲ੍ਹ ਕੀ ਹਟਾਉਂਦੀ ਹੈ ਜੋ ਡੈਮਨ ਨੂੰ ਅਜੇ ਵੀ ਚਾਹੀਦਾ ਹੈ
ਰੂਟ ਦਾ ਬਦਲਾਅ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਡੈਮਨ ਪਹਿਲਾਂ ਹੀ ਖੋਲ੍ਹਿਆ ਸਭ ਕੁਝ ਰੱਖਦਾ ਹੈ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਖੋਲ੍ਹਣ ਵਾਲਾ ਸਭ ਕੁਝ ਗੁਆ ਦਿੰਦਾ ਹੈ। ਕਨੈਕਸ਼ਨ ਵੱਲੋਂ ਉਸ ਬਿੰਦੂ ਤੋਂ ਬਾਅਦ ਚਲਾਇਆ ਗਿਆ ਹਰ ਸਹਾਇਕ ਨਵੇਂ ਰੂਟ ਦੇ ਅੰਦਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਉਹਨਾਂ ਸਾਂਝੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਸਮੇਤ ਜੋ ਉਹ ਲੋਡ ਕਰਦਾ ਹੈ। ਕਨਫਿਗਰੇਸ਼ਨ ਫ਼ਾਈਲ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਤੋਂ ਬਣੀ ਜੇਲ੍ਹ ਵਿੱਚ ਦੋਹਾਂ ਵਿੱਚੋਂ ਕੁਝ ਨਹੀਂ ਹੁੰਦਾ।
ਗੈਰ-ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਾਲੇ ਖਾਤੇ 'ਤੇ ਜਾਣਾ ਇੱਕ ਵੱਖਰੀ ਪਾਬੰਦੀ ਹੈ। root ਛੱਡ ਚੁੱਕੀ ਪ੍ਰਕਿਰਿਆ ਰੂਟ ਬਦਲ ਨਹੀਂ ਸਕਦੀ ਜਾਂ ਇੰਟਰਫ਼ੇਸ ਉੱਪਰ ਨਹੀਂ ਲਿਆ ਸਕਦੀ, ਭਾਵੇਂ ਬਾਈਨਰੀ ਠੀਕ ਉੱਥੇ ਹੀ ਹੋਵੇ, ਇਸ ਲਈ ਦੋਵੇਂ ਫੇਲ੍ਹਤਾਵਾਂ ਦਾ ਵੱਖਰਾ ਨਿਦਾਨ ਲਾਜ਼ਮੀ ਹੈ।
ਕਿਹੜੀ ਮੁਰੰਮਤ ਚਾਹੀਦੀ ਹੈ ਇਹ ਤਿੰਨ ਸ਼ਰਤਾਂ ਤੈਅ ਕਰਦੀਆਂ ਹਨ
ਪਹਿਲੀ ਸ਼ਰਤ ਇਹ ਹੈ ਕਿ ਤੁਹਾਡਾ ਬਿਲਡ ਰੂਟ ਕਿਵੇਂ ਇੰਸਟਾਲ ਕਰਦਾ ਹੈ। ਨਵੇਂ OpenVPN ਸੰਸਕਰਣ ਇੰਟਰਫ਼ੇਸ ਅਤੇ ਰਾਊਟਿੰਗ ਟੇਬਲ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਦੇ ਅੰਦਰ ਕਨਫਿਗਰ ਕਰਦੇ ਹਨ, ਜਦੋਂ ਕਿ ਪੁਰਾਣੇ ਪੈਕੇਜ ਅਤੇ ਆਪਣੇ ਸੈਟਅੱਪ ਬਾਹਰੀ ਸਾਧਨਾਂ ਜਾਂ up ਅਤੇ down ਸਕ੍ਰਿਪਟਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ। ਜੇ ਲੌਗ ਕਿਸੇ ਕਮਾਂਡ ਦਾ ਨਾਮ ਲੈਂਦਾ ਹੈ ਤਾਂ ਕੋਈ ਬਾਹਰੀ ਸਾਧਨ ਸ਼ਾਮਲ ਹੈ ਅਤੇ ਜੇਲ੍ਹ ਉਸਨੂੰ ਲੁਕਾ ਰਹੀ ਹੈ। ਜੇ ਲੌਗ ਇਸ ਦੀ ਬਜਾਏ ਇਜਾਜ਼ਤ ਦੀ ਗਲਤੀ ਦਿਖਾਉਂਦਾ ਹੈ ਤਾਂ ਸਮੱਸਿਆ ਖਾਤੇ ਵਿੱਚ ਹੈ।
ਦੂਜੀ ਸੰਭਾਲ ਹੈ। ਕਾਪੀ ਕੀਤੀਆਂ ਬਾਈਨਰੀਆਂ ਵਾਲੀ ਜੇਲ੍ਹ ਨੂੰ ਹਰ ਵਾਰ ਤਾਜ਼ਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ ਜਦੋਂ ਉਹਨਾਂ ਨੂੰ ਦੇਣ ਵਾਲਾ ਪੈਕੇਜ ਅੱਪਗ੍ਰੇਡ ਹੁੰਦਾ ਹੈ, ਨਹੀਂ ਤਾਂ ਪਹਿਲਾ ਅੱਪਗ੍ਰੇਡ ਪਿੱਛੇ ਟੁੱਟਿਆ ਟਨਲ ਛੱਡ ਦਿੰਦਾ ਹੈ। ਤੀਜੀ ਇਹ ਹੈ ਕਿ ਕੀ ਕੋਈ ਖ਼ਾਸ ਨਿਯੰਤਰਣ ਸੱਚਮੁੱਚ chroot ਮੰਗਦਾ ਹੈ; ਜੇ ਮੰਗ ਅਸਲ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰਾਂ ਦੀ ਵੰਡ ਬਾਰੇ ਹੈ ਤਾਂ ਖਾਤਾ ਬਦਲਣਾ ਇਕੱਲਾ ਹੀ ਕਾਫ਼ੀ ਹੋ ਸਕਦਾ ਹੈ।
| Signal in the log | Other side of the boundary | Repair direction |
|---|---|---|
| Command not found after startup | Binary and its libraries absent inside the new root | Populate the jail, or drop the chroot line |
| Operation not permitted | Account lost the privilege to edit routes | Keep the account privileged, or pre-create routes elsewhere |
| No such device | Jail lacks the tun device node | Create the node inside, or open it before the root change |
ਕੰਮ ਕਰਨ ਵਾਲੀ ਜੇਲ੍ਹ ਵਿੱਚ ਕੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
ਕਮਾਂਡਾਂ ਚਲਾਉਣ ਵਾਲੀ ਜੇਲ੍ਹ ਨੂੰ ਬਾਈਨਰੀ, ਹਰ ਉਹ ਲਾਇਬ੍ਰੇਰੀ ਜਿਸ ਨਾਲ ਉਹ ਲਿੰਕ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਹਰ ਉਹ ਡਿਵਾਈਸ ਨੋਡ ਚਾਹੀਦਾ ਹੈ ਜੋ ਡੈਮਨ ਦੇਰ ਨਾਲ ਖੋਲ੍ਹਦਾ ਹੈ। ਟੁਕੜੇ ਕਾਪੀ ਕਰੋ ਅਤੇ VPN ਤੋਂ ਬਿਨਾਂ ਉਹਨਾਂ ਦੀ ਜਾਂਚ ਕਰੋ:
ldd /usr/sbin/ip
chroot /etc/openvpn/jail /sbin/ip route show
chroot /etc/openvpn/jail /sbin/ip link set tun0 up
ਪਹਿਲੀ ਕਮਾਂਡ ਨਿਰਭਰਤਾਵਾਂ ਦੀ ਸੂਚੀ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਇਹੀ ਉਹ ਹੈ ਜਿਸਨੂੰ ਲੋਕ ਛੱਡ ਦਿੰਦੇ ਹਨ। ਲਾਇਬ੍ਰੇਰੀ ਨਾ ਲੱਭਣ ਵਾਲੀ ਕਾਪੀ ਕੀਤੀ ਬਾਈਨਰੀ ਗੁੰਮ ਬਾਈਨਰੀ ਨਾਲੋਂ ਵੱਖਰੇ ਸੁਨੇਹੇ ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਕਲਾਇੰਟ ਵੱਲੋਂ ਪੜ੍ਹਨ 'ਤੇ OpenVPN ਦੀ ਖ਼ਰਾਬੀ ਵਰਗੀਆਂ ਲੱਗਦੀਆਂ ਹਨ। ਜੇਲ੍ਹ ਦੇ ਅੰਦਰ ਹੱਥੋਂ ਕਮਾਂਡ ਚਲਾਉਣਾ ਸੇਵਾ ਨੂੰ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕੀਤੇ ਬਿਨਾਂ ਖ਼ਰਾਬੀ ਦੁਹਰਾਉਂਦਾ ਹੈ।
ਕਨਫਿਗਰੇਸ਼ਨ, ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਕੋਈ ਵੀ CRL ਵੀ ਜੇਲ੍ਹ ਵਿੱਚ ਕਾਪੀ ਕਰੋ, ਕਿਉਂਕਿ ਡੈਮਨ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਦੁਬਾਰਾ ਪੜ੍ਹਨ ਦੀ ਉਮੀਦ ਰੱਖਦੀ ਫ਼ਾਈਲ ਰੂਟ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਨਹੀਂ ਲੱਭੇਗੀ। ਕੀ ਕਾਪੀ ਕੀਤਾ ਇਹ ਲਿਖ ਲਓ, ਕਿਉਂਕਿ ਨੈੱਟਵਰਕ ਪੈਕੇਜ ਦਾ ਅਗਲਾ ਅੱਪਗ੍ਰੇਡ ਮੂਲ ਫ਼ਾਈਲਾਂ ਬਦਲ ਦਿੰਦਾ ਹੈ ਅਤੇ ਜੇਲ੍ਹ ਨੂੰ ਪੁਰਾਣੀ ਕਾਪੀ 'ਤੇ ਛੱਡ ਦਿੰਦਾ ਹੈ।
ਇਸ ਦੀ ਬਜਾਏ ਸਖ਼ਤੀ ਘਟਾਓ
ਜੇ ਜੇਲ੍ਹ ਸਿਰਫ਼ ਇਸ ਲਈ ਮੌਜੂਦ ਹੈ ਕਿ ਕਿਸੇ ਗਾਈਡ ਨੇ ਇਹ ਕਿਹਾ ਸੀ, ਤਾਂ ਖਾਤੇ ਦੀਆਂ ਪਾਬੰਦੀਆਂ ਰੱਖਦਿਆਂ ਉਹ ਇੱਕ ਲਾਈਨ ਹਟਾਉਣਾ ਬਚਾਅਯੋਗ ਨਤੀਜਾ ਹੈ। ਡੈਮਨ ਆਪਣਾ ਫ਼ਾਈਲ ਸਿਸਟਮ ਦ੍ਰਿਸ਼ ਰੱਖਦਾ ਹੈ ਅਤੇ ਸਮੱਸਿਆ ਗੁਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰਾਂ ਦੀ ਕਮੀ ਲੰਮੀ ਉਮਰ ਵਾਲੀ ਪ੍ਰਕਿਰਿਆ ਤੋਂ root ਹਜੇ ਵੀ ਹਟਾ ਦਿੰਦੀ ਹੈ।
ਕੀ ਬਚਦਾ ਹੈ ਅਤੇ ਕਿਉਂ ਇਹ ਲਿਖੋ। ਜਿਸ ਕਨਫਿਗਰੇਸ਼ਨ ਨੇ ਬਿਨਾਂ ਨੋਟ ਦੇ ਚੁੱਪਚਾਪ ਕੋਈ ਨਿਯੰਤਰਣ ਗੁਆ ਦਿੱਤਾ, ਸਖ਼ਤੀ ਉਸੇ ਤਰ੍ਹਾਂ ਭਟਕਦੀ ਹੈ, ਅਤੇ ਅਗਲਾ ਆਡਿਟ ਪੁੱਛੇਗਾ ਕਿ ਲਾਈਨ ਕਿਉਂ ਗਾਇਬ ਹੋਈ।
ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਤਿੰਨ ਲਾਈਨਾਂ ਵੰਡੋ
ਕਨਫਿਗਰੇਸ਼ਨ ਕਾਪੀ ਕਰੋ, ਤਿੰਨੇ ਨਿਰਦੇਸ਼ ਬੰਦ ਕਰੋ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਕਲਾਇੰਟ ਜੁੜਦਾ ਹੈ ਅਤੇ ਉਮੀਦ ਕੀਤੇ ਰੂਟ ਦਿਸਦੇ ਹਨ। ਫਿਰ ਸਿਰਫ਼ ਖਾਤੇ ਦੀਆਂ ਲਾਈਨਾਂ ਦੁਬਾਰਾ ਚਾਲੂ ਕਰੋ, ਅਤੇ ਫਿਰ chroot ਇਕੱਲਾ। ਜਿਸ ਕਦਮ 'ਤੇ ਟਨਲ ਟੁੱਟਦਾ ਹੈ ਉਹ ਸੀਮਾ ਦੱਸਦਾ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਅਜਿਹੀ ਜੇਲ੍ਹ ਦੁਬਾਰਾ ਬਣਾਉਣ ਤੋਂ ਬਚਦੇ ਹੋ ਜੋ ਕਦੇ ਕਾਰਨ ਨਹੀਂ ਸੀ।
ਜਦੋਂ ਇਹ ਦੁਬਾਰਾ ਰੂਟ ਕਰੇ, ਤਾਂ ਵਧੇਰੇ ਵੇਰਵੇ ਨਾਲ ਇੱਕ ਕਲਾਇੰਟ ਸੈਸ਼ਨ ਚਲਾਓ ਅਤੇ ਉਹ ਲਾਈਨ ਪੜ੍ਹੋ ਜੋ ਕਮਾਂਡ ਜਾਂ ਫੇਲ੍ਹ ਹੋਈ ਇਜਾਜ਼ਤ ਦਾ ਨਾਮ ਲੈਂਦੀ ਹੈ। ਉਹ ਲਾਈਨ ਕਲਾਇੰਟ ਅੰਤ ਵਿੱਚ ਜੋ ਟਾਈਮਆਊਟ ਦੱਸਦਾ ਹੈ ਉਸ ਨਾਲੋਂ ਵੱਧ ਕੀਮਤੀ ਹੈ।