ਡਿਸਕ ਐਨਕ੍ਰਿਪਸ਼ਨ ਅਤੇ nosuid ਮਾਊਂਟ ਇੱਕੋ ਵਿਚਾਰ ਦੇ ਰੂਪ ਜਾਪਦੇ ਹਨ, ਅਤੇ ਇਹਨਾਂ ਦਾ ਕੋਈ ਸੰਬੰਧ ਨਹੀਂ ਹੈ। ਇੱਕ ਆਰਾਮ ਵਿੱਚ ਪਏ ਡੇਟਾ ਦੀ ਰੱਖਿਆ ਕਰਦਾ ਹੈ, ਅਤੇ ਦੂਜਾ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਪ੍ਰੋਗਰਾਮ ਸ਼ੁਰੂ ਹੋਣ ਵੇਲੇ ਕਰਨਲ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਬਿੱਟ ਦਾ ਸਤਿਕਾਰ ਕਰੇਗਾ ਜਾਂ ਨਹੀਂ। ਜਿਹੜਾ ਸਹਾਇਕ ਆਪਣੀ ਉਮੀਦ ਕੀਤੀ ਪਛਾਣ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦਾ ਉਹ ਦੂਜੇ ਬਾਰੇ ਸ਼ਿਕਾਇਤ ਕਰ ਰਿਹਾ ਹੈ। ਪਹਿਲਾ ਹੀ ਜ਼ਿੰਮੇਵਾਰ ਹੈ ਇਹ ਧਾਰਨਾ ਲੋਕਾਂ ਨੂੰ ਕਦੇ ਨਾ ਖਰਾਬ ਹੋਏ ਕਲਾਇੰਟ ਦੁਬਾਰਾ ਇੰਸਟਾਲ ਕਰਨ ਭੇਜਦੀ ਹੈ।

ਦੋ ਅਸੰਬੰਧਿਤ ਗੁਣ

ਡਿਸਕ ਐਨਕ੍ਰਿਪਸ਼ਨ ਦੱਸਦਾ ਹੈ ਕਿ ਮਸ਼ੀਨ ਬੰਦ ਹੋਣ ਵੇਲੇ ਬਲਾਕ ਕੌਣ ਪੜ੍ਹ ਸਕਦਾ ਹੈ। ਮਾਊਂਟ ਵਿਕਲਪ ਦੱਸਦਾ ਹੈ ਕਿ ਕੋਈ ਫਾਈਲ ਚਲਾਉਣ ਵੇਲੇ ਕਰਨਲ ਉਸ ਦੇ ਮੋਡ ਬਿੱਟਾਂ ਨਾਲ ਕੀ ਕਰੇਗਾ। ਪਹਿਲੇ ਵਿੱਚ ਕੁਝ ਵੀ ਦੂਜੇ ਨੂੰ ਸੀਮਤ ਨਹੀਂ ਕਰਦਾ, ਅਤੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਐਨਕ੍ਰਿਪਟਡ ਲੈਪਟਾਪ ਹਰ ਪਾਬੰਦੀ ਸਮੇਤ ਫਾਈਲ ਸਿਸਟਮ ਮਾਊਂਟ ਕਰ ਸਕਦਾ ਹੈ।

ਦੋਹਾਂ ਨੂੰ ਇੱਕ ਗੁਣ ਵਜੋਂ ਪੜ੍ਹਨਾ ਹੀ ਉਹ ਸਿਧਾਂਤ ਪੈਦਾ ਕਰਦਾ ਹੈ ਕਿ ਐਨਕ੍ਰਿਪਟਡ ਹੋਮ root ਪਹੁੰਚ ਰੋਕਦਾ ਹੈ। ਉਹ ਸਿਧਾਂਤ ਟਿਕਦਾ ਹੈ ਕਿਉਂਕਿ ਦੋਵੇਂ ਲੱਛਣ ਇੱਕੋ ਮਸ਼ੀਨ ਉੱਤੇ ਦਿਖਦੇ ਹਨ, ਇਸ ਲਈ ਨਹੀਂ ਕਿ ਉਹਨਾਂ ਦਾ ਕਾਰਨ ਇੱਕ ਹੈ।

ਸੰਕਰਮਣ ਨੂੰ ਅਸਲ ਵਿੱਚ ਕੀ ਦਬਾਉਂਦਾ ਹੈ

execve ਹਵਾਲਾ ਦੱਸਦਾ ਹੈ ਕਿ set-user-ID ਵਾਲੀ ਚੱਲਣਯੋਗ ਫਾਈਲ ਨਵੀਂ ਪ੍ਰਕਿਰਿਆ ਦੀ ਪ੍ਰਭਾਵੀ ਪਛਾਣ ਫਾਈਲ ਦੇ ਮਾਲਕ ਦੀ ਕਿਵੇਂ ਬਦਲਦੀ ਹੈ। ਉਸੇ ਸਫ਼ੇ ਉੱਤੇ ਉਹ ਸ਼ਰਤਾਂ ਸੂਚੀਬੱਧ ਹਨ ਜੋ ਇਸ ਸੰਕਰਮਣ ਨੂੰ ਦਬਾਉਂਦੀਆਂ ਹਨ ਅਤੇ ਸਮੂਹ ਪਛਾਣਕਰਤਾਵਾਂ ਲਈ ਉਹਨਾਂ ਦੇ ਬਰਾਬਰ ਦੀਆਂ: no_new_privs ਸੈਟਿੰਗ, nosuid ਨਾਲ ਮਾਊਂਟ ਕੀਤਾ ਫਾਈਲ ਸਿਸਟਮ, ਅਤੇ ਟ੍ਰੇਸ ਹੋ ਰਹੀ ਪ੍ਰਕਿਰਿਆ। ਉਹਨਾਂ ਹੀ ਸ਼ਰਤਾਂ ਵਿੱਚ ਫਾਈਲ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਉਹ ਚਾਰ ਨਿਯਮ ਇਸ ਕਿਸਮ ਦੀਆਂ ਲਗਭਗ ਸਾਰੀਆਂ ਰਿਪੋਰਟਾਂ ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ।

ਉਹ ਸੂਚੀ ਸਮਝਾਉਂਦੀ ਹੈ ਕਿ ls ਜੋ ਮੋਡ ਛਾਪਦਾ ਹੈ ਉਹ ਕਦੇ ਪੂਰੀ ਅਧਿਕਾਰ ਕਹਾਣੀ ਨਹੀਂ ਹੁੰਦੀ। ਇਹ ਨਹੀਂ ਦੱਸਦੀ ਕਿ ਕਿਸ ਸ਼ਰਤ ਨੇ ਕੋਈ ਖਾਸ ਅਸਫਲਤਾ ਸੁਨੇਹਾ ਪੈਦਾ ਕੀਤਾ, ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਉਹਨਾਂ ਹੀ ਸ਼ਬਦਾਂ ਵਿੱਚ ਕੋਈ ਅਸੰਬੰਧਿਤ ਪ੍ਰਮਾਣ ਪੱਤਰ ਕਿਰਿਆ ਦੀ ਰਿਪੋਰਟ ਕਰ ਸਕਦੀ ਹੈ। ਸਿੱਟਾ ਕੱਢਣ ਤੋਂ ਪਹਿਲਾਂ ਸਹੀ ਪ੍ਰੋਗਰਾਮ, ਲਾਂਚਰ ਅਤੇ ਗਲਤੀ ਕ੍ਰਮ ਨੋਟ ਕਰੋ।

ਸਮਰਥਿਤ ਪੈਕੇਜ ਵੱਲੋਂ ਇੰਸਟਾਲ ਕੀਤੀ ਚੱਲਣਯੋਗ ਫਾਈਲ, ਉਸ ਦਾ ਮਾਲਕ, ਉਸ ਦਾ ਅਸਲ ਪਥ ਅਤੇ ਉਸ ਨੂੰ ਰੱਖਣ ਵਾਲੇ ਫਾਈਲ ਸਿਸਟਮ ਦੀ ਨੀਤੀ ਪਛਾਣੋ। ਡਾਊਨਲੋਡ ਫੋਲਡਰ ਵਿੱਚ ਪਈ ਕਾਪੀ ਇੰਸਟਾਲ ਕੀਤਾ ਸਹਾਇਕ ਨਹੀਂ ਹੈ, ਉਸ ਦਾ ਮੋਡ ਭਾਵੇਂ ਕੁਝ ਵੀ ਕਹੇ।

ਇਸ ਬਾਰੇ ਕੀ ਨਾ ਕਰੋ

ਬਿਨਾਂ ਜਾਂਚੇ ਬਾਈਨਰੀ ਉੱਤੇ set-user-ID ਬਿੱਟ ਲਾਉਣਾ ਅਤੇ ਪਾਬੰਦੀ ਗਾਇਬ ਹੋਣ ਤੱਕ ਉਸ ਨੂੰ ਇੱਧਰ-ਉੱਧਰ ਖਿਸਕਾਉਣਾ ਮੁਰੰਮਤ ਨਹੀਂ ਹੈ। ਇਹ ਉਸ ਨੀਤੀ ਦੀ ਥਾਂ, ਜੋ ਤੁਸੀਂ ਨਹੀਂ ਸਮਝੀ, ਐਸਾ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਰੱਖ ਦਿੰਦਾ ਹੈ ਜਿਸ ਦਾ ਤੁਸੀਂ ਆਡਿਟ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਅਤੇ ਸਹਾਇਕ ਉੱਤੇ ਲਾਈ ਗਈ ਉਹੀ ਤਕਨੀਕ ਇੱਕ ਜਾਣਿਆ-ਪਛਾਣਿਆ ਐਸਕਲੇਸ਼ਨ ਮਾਰਗ ਹੈ। ਮਾਊਂਟ ਤੋਂ nosuid ਹਟਾਉਣਾ ਹੋਰ ਵੀ ਮਾੜਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਉਸ ਫਾਈਲ ਸਿਸਟਮ ਦੇ ਹਰ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ, ਸਿਰਫ਼ ਇੱਕ ਨੂੰ ਨਹੀਂ।

ਸਮਰਥਿਤ ਮਾਰਗ ਕਲਾਇੰਟ ਦਾ ਦਸਤਾਵੇਜ਼ੀ ਸਹਾਇਕ ਜਾਂ ਸੇਵਾ ਇੰਸਟਾਲੇਸ਼ਨ ਹੈ, ਜੋ ਪ੍ਰਸ਼ਾਸਕ ਕਰਦਾ ਹੈ ਅਤੇ ਬਾਈਨਰੀ ਨੂੰ ਉੱਥੇ ਰੱਖਦਾ ਹੈ ਜਿੱਥੇ ਨੀਤੀ ਉਸ ਦੀ ਉਮੀਦ ਕਰਦੀ ਹੈ। ਇਸ ਨਾਲ ਦੋ ਦੀ ਥਾਂ ਇੱਕ ਹੀ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਿਵਸਥਾ ਰਹਿੰਦੀ ਹੈ।

ਅਸਲ ਲਾਂਚ ਸੰਦਰਭ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ

ਅਧਿਕਾਰਤ ਸੁਧਾਰ ਤੋਂ ਬਾਅਦ ਸਹਾਇਕ ਨੂੰ root ਸ਼ੈੱਲ ਤੋਂ ਨਹੀਂ, ਸਗੋਂ ਉਤਪਾਦ ਜਿਵੇਂ ਚਲਾਉਂਦਾ ਹੈ ਉਸੇ ਤਰ੍ਹਾਂ ਚਲਾਓ। root ਵਜੋਂ ਸਫਲਤਾ ਆਮ ਵਰਤੋਂਕਾਰ ਦੇ ਮਾਰਗ ਬਾਰੇ ਕੁਝ ਵੀ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ, ਅਤੇ ਇਹਨਾਂ ਦੋ ਸੰਦਰਭਾਂ ਵਿਚਕਾਰਲਾ ਫ਼ਰਕ ਹੀ ਅਸਫਲਤਾ ਦਾ ਅਸਲ ਵਿਸ਼ਾ ਸੀ।

ਫਿਰ ਉਸ ਨੈੱਟਵਰਕ ਕਿਰਿਆ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ ਜਿਸ ਲਈ ਸਹਾਇਕ ਮੌਜੂਦ ਹੈ। ਜੋ ਸਹਾਇਕ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਪਰ ਇੰਟਰਫ਼ੇਸ ਕਨਫਿਗਰ ਨਹੀਂ ਕਰ ਸਕਦਾ ਉਸ ਨੇ ਸਮੱਸਿਆ ਨੂੰ ਇੱਕ ਪੜਾਅ ਅੱਗੇ ਖਿਸਕਾ ਦਿੱਤਾ ਹੈ, ਹੱਲ ਨਹੀਂ ਕੀਤਾ।

findmnt -no TARGET,OPTIONS /home
getcap /usr/libexec/openvpn-helper 2>/dev/null; ls -l /usr/libexec/openvpn-helper

ਮਾਊਂਟ ਵਿਕਲਪ ਅਤੇ ਸਹਾਇਕ ਦੀ ਮਾਲਕੀ ਇੱਕੋ ਨੋਟ ਵਿੱਚ ਲਿਖੋ। ਨਹੀਂ ਤਾਂ ਇਸ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਵਾਲਾ ਅਗਲਾ ਵਿਅਕਤੀ ਐਨਕ੍ਰਿਪਸ਼ਨ ਦਾ ਸਿਧਾਂਤ ਫਿਰ ਸ਼ੁਰੂ ਤੋਂ ਦੁਹਰਾਏਗਾ।

ਸੰਬੰਧਿਤ ਲੇਖ