nosuid VPN సహాయకుడు root కాకుండా ఎందుకు నిరోధిస్తుంది
ఎన్క్రిప్ట్ చేసిన హోమ్ డైరెక్టరీ మరియు nosuid మౌంట్ వేర్వేరు లక్షణాలు. సహాయకుడికి విశ్వసనీయ ఇన్స్టాల్ మార్గం మరియు దాని ప్రత్యేక హక్కు బిట్ను గౌరవించే లాంచ్ సందర్భం అవసరం.
డిస్క్ ఎన్క్రిప్షన్ మరియు nosuid మౌంట్ ఒకే ఆలోచన రూపాలు అనిపిస్తాయి, కానీ వాటికి ఎలాంటి సంబంధం లేదు. ఒకటి విశ్రాంతిలో ఉన్న డేటాను రక్షిస్తుంది, మరొకటి ప్రోగ్రామ్ ప్రారంభమయ్యే క్షణంలో కెర్నల్ ప్రత్యేక హక్కు బిట్ను గౌరవిస్తుందా లేదా అని నిర్ణయిస్తుంది. తాను ఆశించే గుర్తింపును చేరుకోలేని సహాయకుడు రెండో దాని గురించి ఫిర్యాదు చేస్తున్నాడు. మొదటిదే కారణం అనే ఊహ ప్రజలను ఎప్పుడూ పాడైని క్లయింట్లను తిరిగి ఇన్స్టాల్ చేయడానికి పంపుతుంది.
సంబంధం లేని రెండు లక్షణాలు
మెషీన్ ఆఫ్లో ఉన్నప్పుడు బ్లాక్లను ఎవరు చదవగలరు అని డిస్క్ ఎన్క్రిప్షన్ సమాధానం చెబుతుంది. ఎవరైనా ఫైల్ను అమలు చేసినప్పుడు కెర్నల్ దాని మోడ్ బిట్లతో ఏమి చేస్తుంది అని మౌంట్ ఎంపిక సమాధానం చెబుతుంది. మొదటిదానిలో ఏదీ రెండోదాన్ని పరిమితం చేయదు, మరియు పూర్తిగా ఎన్క్రిప్ట్ చేసిన ల్యాప్టాప్ అన్ని పరిమితులతో ఫైల్ సిస్టమ్ను మౌంట్ చేయగలదు.
రెండింటినీ ఒకే లక్షణంగా చదవడమే ఎన్క్రిప్ట్ చేసిన హోమ్ root యాక్సెస్ను నిరోధిస్తుంది అనే సిద్ధాంతాన్ని సృష్టిస్తుంది. ఆ సిద్ధాంతం నిలిచి ఉండటానికి కారణం రెండు లక్షణాలు ఒకే మెషీన్లో కనిపించడం, వాటికి ఒకే కారణం ఉండటం కాదు.
పరివర్తనను నిజంగా ఏది అణచివేస్తుంది
set-user-ID ఉన్న అమలయ్యే ఫైల్ కొత్త ప్రాసెస్ యొక్క ప్రభావవంతమైన గుర్తింపును ఫైల్ యజమాని గుర్తింపుగా ఎలా మారుస్తుందో execve సూచన వివరిస్తుంది. అదే పేజీలో ఆ పరివర్తనను అణచివేసే షరతులు మరియు గ్రూప్ గుర్తింపులకు వాటికి సమానమైనవి జాబితా చేయబడ్డాయి: 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
మౌంట్ ఎంపికలు మరియు సహాయకుడి యాజమాన్యాన్ని ఒకే నోట్లో నమోదు చేయండి. లేకపోతే దీన్ని డీబగ్ చేసే తదుపరి వ్యక్తి ఎన్క్రిప్షన్ సిద్ధాంతాన్ని మళ్లీ మొదటి నుండి పునరావృతం చేస్తాడు.