லினக்ஸில் Sudoஎனும் கட்டளையை பயன்படுத்திகொள்வதற்கான காரணங்கள்

பாரம்பரிய யூனிக்ஸ் போன்ற கணினிகளில், புதியதாக நிறுவுகை செய்து பயன்படுத்திட துவங்கிடும்போது இருக்கும் முதன்முதலான ஒரேயொரு பயனாளருக்கு மட்டும்root என்று பெயரிடப் படுகிறது. இந்த root எனும் பயனாளரின் கணக்கைப் பயன்படுத்தி, கணினிகளில் உள்நுழைவுசெய்த பின்னர் இரண்டாம் நிலையிலான “சாதாரண( normal)l” பயனர்களை நாம் உருவாக்கி டலாம். அவ்வாறான துவக்கநிலைதொடர்புக்குப் பிறகு, கணினி களில் நாம் ஒரு சாதாரண( normal) பயனராகவே உள்நுழைவு செய்திடுவோம்.
நம்முடைய கணினியை ஒரு சாதாரண பயனராக இயக்குவது என்பது முட்டாள் தனமான தவறுகளிலிருந்து நம்மைப் பாதுகாக்கின்ற சுயமாக விதிக்கப்பட்ட வரம்பாகும். சான்றாக ,ஒரு சாதாரண பயனராக, நம்முடைய பிணைய இடைமுகங்களை வரையறுக்கின்ற உள்ளமைவு கோப்பை நீக்கவோ அல்லது தற்செயலாக பயனர்களின் , குழுக்களின் பட்டியலை மேலெழுதவோ முடியாது. நம்மால் அவ்வாறான தவறுகளை செய்ய முடியாது, ஏனெனில், ஒரு சாதாரண பயனராக, அந்த முக்கியமான கோப்புகளை அணுக நமக்கு அனுமதி எதுவும் இல்லை. இந்நிலையில், ஒரு கணினியின் நேரடி உரிமையாளராக, நாம் எப்போதும் முதன்மையனாளராக (root), நாம் விரும்பும் எதையும் செய்ய sudo எனும் கட்டளையைப் பயன்படுத்தலாம், ஆனால் கணினியில் அன்றாட பணிகளுக்கு நம்முடைய சாதாரண கணக்கைப் பயன்படுத்த வேண்டும்.
சில காலங்களுக்கு கணினியில் இந்த sudo எனும் கட்டளை நன்றாக செயல் புரிந்ததால் இது அனைவரின் நடைமுறை பயன்பாட்டில் இருந்துவந்தது, ஆனால் பின்னர் sudo எனும் கட்டளையானது பயன்பாட்டில் இல்லாமல் இருந்து வருகிறது.
நீண்ட கால முதன்மைபயனாளருக்கு, sudoஎனும் கட்டளையானது முதலில் மிதமிஞ்சியதாகத் தோன்றலாம். சில வழிமுறைகளில், இது சாதாரண கட்டளையைப் போன்ற உணர்வையே ஏற்படுத்திடுகிறது. எடுத்துகாட்டாக, முன்பு நடைமுறையிலிருந்த கட்டளை வரிகள் பின்வருமாறு:
$ su root
<enter passphrase>
# dnf install -y cowsay
இதையே sudoஎனும் கட்டளையை பயன்படுத்தி பின்வருமாறு செயல்படுத்திடலாம்:
$sudodnfinstall-ycowsay
<enter passphrase>
இரண்டு கட்டளைவரித்தொடர்களும் கிட்டத்தட்ட ஒரே மாதிரியானவை. இன்னும் தற்போது கூடபெரும்பாலான லினக்ஸ் விநியோகங்கள் sudo எனும் கட்டளைக்கு பதிலாக su எனும் கட்டளையை பயன்படுத்த பரிந்துரைக்கின்றன, மேலும் பெரும்பாலான லினக்ஸ் விநியோகங்கள் root எனும் கணக்கையே முழுவதுமாக நீக்கிவிட்டன. இவ்வாறான செயல் லினக்ஸ் விநியோகங்களை செயல்படாத ஊமையாக்கிடுவதற்கான சதியா? என சந்தேகம் எழுகின்றது
சரி இது குறித்து யாராவது ஆய்வுசெய்து அறிவி்க்கட்டும் நாம் மீண்டும் தொடருவோம் , உண்மையில். sudo என்பதால் கட்டமைக்கப்பட்ட Linux விநியோகமானது முன்னெப்போதையும் விட மிகவும் நெகிழ்வானதும் கட்டமைக்கக்கூடியதுமான, வசதிவாய்ப்புகளுடன் பல்வேறு இழப்புகளும் குறிப்பிடத்தக்க பலநன்மைகளும் இல்லாமலில்லை.
லினக்ஸில் rootஐ விட sudo எனும் கட்டளையானது ஏன் சிறந்தது
இந்த கேள்விக்கான விடையாக லினக்ஸ் விநியோகங்களில் sudo ஆனது su இற்கு பதிலாக பயன்படுத்துவதற்கான ஐந்து காரணங்கள் பின்வருமாறு.
1. Root ஒரு உறுதிப்படுத்தப்பட்ட தாக்குதலிற்கான நெறியமாகும்
நான் இயக்குகின்ற சேவையாளர்களில் தேவையற்ற நுழைவைத் தடுக்க, firewalls,fail2ban, SSH விசைஆகியவற்றின் வழக்கமான கலவையைப் பயன்படுத்திடலாம். sudo இன் மதிப்பை புரிந்துகொள்வதற்கு முன்பு, எனது சேவையாளரில் நடத்தப்பட்ட தோல்வியுற்ற brute force தாக்குதல்களை நான் திகிலுடன் அதனுடைய பதிவுகளைப் பார்த்தேன். Root ஆக உள்நுழைவதற்கான தானியங்கி முயற்சிகள் மிகவும் பொதுவானவை ,சரியான காரணத்துடன்.
இயக்கம் முறிவடைவதை காண முயற்சிக்கின்ற போதுமான அறிவைக் கொண்ட தாக்குதல் மேற்கொள்ள விழைபவர், sudoவின் பரவலான பயன்பாட்டிற்கு முன்பு, அடிப்படையில் ஒவ்வொரு யூனிக்ஸ் , லினக்ஸ் அமைப்புக்கும் கண்டிபபாக ஒரேயொரு Root கணக்கு மட்டுமே இருந்தது என்பதையும் நன்கு அறிவார். நம்முடைய சேவையாளரில் எப்படி நுழைவது என்பது பற்றிய ஒரு குறைந்த அளவிற்கு யூகம்செய்து, தாக்குதலிற்காக முயற்சி செய்தால் போதும். அதாவது இவ்வாறான அனைத்து கணினிகளிலும் முதன்மை பயனாளரானது Root ஆக இருக்கும் வரை, உள்நுழைவு பெயர் எப்போதும் சரியாக இருக்கும், தாக்குதல் செய்யவிழைபவர்களுக்குத் தேவைப்படுவது செல்லுபடியாகும் கடவுச்சொற்றொடர் மட்டுமேயாகும். அதனால் எப்படியாவது முயற்சி செய்து Root எனும் முதன்மை பயனாளராக உள்நுழைவு செய்வதற்கான கடவுச்சொற்களை கண்டுபிடித்து உள்நுழைவுசெய்திடுவார்
அதனால் Root கணக்கை அகற்றுவது கணினிக்கு நல்ல பாதுகாப்பை வழங்குகிறது. Root இல்லாமல், சேவையாளரில் உறுதிப்படுத்தப்பட்ட உள்நுழைவு கணக்குகள் இல்லை. சாத்தியமான உள்நுழைவு பெயர்களை தாக்குபவர் யூகிக்க வேண்டும். கூடுதலாக, தாக்குபவர் உள்நுழைவு பெயருடன் இணைக்க கடவுச்சொல்லை மட்டுமே யூகிக்க வேண்டும். அது உள்நுழைவதற்கான வெறும் ஒரேயொரு யூகம்மட்டுமே போதுமானதாகும் , பிறகு மற்றொரு யூகம் தேவையன்று; ஆனால் sudoவினை செயல்படுத்திடுவதற்கு பயனாளரின் பெயர் கடவுச்சொல் ஆகிய இரண்டையும் யூகிக்கவேண்டியுள்ளது அதாவது sudoவை பயன்படுத்தி சேவையாளரை செயல்படுவதற்காக இரண்டு யூகங்கள் தேவையாகும்
2. Root என்பதே தாக்குதல் செய்பவரின் இறுதியான நெறியமாகும்
தோல்வியுற்ற அணுகுதலின் பதிவுகளில் Root என்பது ஒரு பிரபலமான பெயராக இருப்பதற்கு மற்றொரு காரணமாகும், இது சாத்தியமான மிகவும் சக்திவாய்ந்த பயனர். வேறொருவரின் சேவையாளரில் brute force இற்குள் உள்நுழைய ஒரு உரைநிரலைநாம் அமைக்கப் போகின்றோமெனில், கணினியில் குறைந்த அணுகுதலுடன் வழக்கமான பயனராக நுழைவதற்கு ஏன் நேரத்தை வீணடிக்க வேண்டும்? கிடைக்கக்கூடிய மிகவும் சக்திவாய்ந்த பயனரிடம் செய்வது மட்டுமே அர்த்தமுள்ளதாக இருக்கும்.தனித்தனியாக அறியப்பட்ட பயனர் பெயர் , மிகவும் சக்திவாய்ந்த பயனர் கணக்கு ஆகிய இரண்டிலும், brute force அடிப்படையில் வேறு எதையும் முரட்டுத்தனமாக முயற்சி செய்வதை அர்த்தமற்றதாக்குகிறது.

3.தேர்ந்தெடுக்கப்பட்ட அனுமதி
su கட்டளையானது எதுவுமில்லாதது அல்லது ஒன்றுமில்லாதது. நம்மிடம் su என்பதன் root இற்கான கடவுச்சொல் இருந்தால், நாம் முதன்மை பயனாளர் ஆகலாம். நம்மிடம் அவ்வாறான su இற்கான கடவுச்சொல் இல்லை என்றால், நமக்கு நிர்வாக உரிமைகள் எதுவும் இல்லை. இந்த மாதிரியின் சிக்கல் என்னவென்றால், ஒரு அமைவுநிருவகியின்(sysadmin) முதன்மை விசையை தங்கள் கணினியில் ஒப்படைப்பதற்கு அல்லது விசையை நிறுத்தி வைப்பதற்கு கணினியின் அனைத்து கட்டுப்பாட்டையும் தேர்வு செய்ய வேண்டும். அது எப்போதும் நாம் விரும்புவது இல்லை. சில சமயங்களில் நாம் அதனை பிரதிநிதித்துவப் படுத்த விரும்புகின்றோம்.
எடுத்துக்காட்டாக, வழக்கமான root அனுமதிகள் தேவைப்படும் ஒரு குறிப்பிட்ட பயன்பாட்டை இயக்க பயனர் அனுமதியை வழங்க விரும்புகின்றோம், ஆனால் இந்த பயனருக்கு root கடவுச்சொல்லை வழங்க விரும்பவில்லை. இந்நிலையில் sudoவின் உள்ளமைவைத் திருத்துவதன் மூலம், ஒரு குறிப்பிட்ட பயனர் அல்லது குறிப்பிட்ட யூனிக்ஸ் குழுவைச் சேர்ந்த எத்தனை பயனர்கள் வேண்டுமானாலும் ஒரு குறிப்பிட்ட கட்டளையை இயக்க அனுமதிக்கலாம் என கட்டுபாட்டுடன் பயன்படுத்தி கொள்ள அனுமதி அளிக்கலாம். sudo கட்டளைக்கு பயனரின் நடப்பில் இருக்கும் கடவுச்சொல் மட்டுமே தேவையாகும், நம்முடையமுதன்மை பயனாளரின் கடவுச்சொல் அன்று, நிச்சயமாக root கடவுச்சொல் அன்று.

4.காலக்கெடு முடிவடைதல்.(Time out)
sudoஎனும் அனுமதியுடன் கட்டளையை இயக்கும் போது, அங்கீகரிக்கப்பட்ட பயனரின் சிறப்புரிமைகள் 5 நிமிடங்களுக்கு அதிகரிக்கப்படும். அந்த நேரத்தில், நாம் அவர்களுக்கு இயக்க அனுமதி வழங்கிய கட்டளை அல்லது கட்டளைகளை குறிப்பிட்ட பயனர் இயக்கலாம்.
அவ்வாறான அனுமதிக்கப்பட்ட 5 நிமிடங்களுக்குப் பிறகு, அங்கீகரிப்பிற்கான தற்காலிக சேமிப்பு அழிக்கப்பட்டு, sudoவின் அடுத்த பயன்பாடு மீண்டும் கடவுச் சொல்லைத் தூண்டும். காலக்கெடு முடிவடைந்தால், தற்செயலாக அந்தச் செயலைச் செய்வதிலிருந்து பயனரைத் தடுக்கிறது (உதாரணமாக, shell வரலாற்றின் மூலம் கவனக்குறைவாகத் தேடுவது அல்லது பல மேல்நோக்கிய அம்புக்குறியை அழுத்திடுக). முதன்மை பயனர் தங்கள் கணினித் திரையைப் பூட்டாமல் மேசையிலிருந்து விலகிச் சென்றால் மற்றொரு பயனரால் கட்டளைகளை இயக்க முடியாது என்பதையும் இது உறுதி செய்கிறது.

5.பூட்டுதல்(Logging)
shell வரலாற்றின் வசதியானது ஒரு பயனர் என்ன செய்துகொண்டிருக்கிறார் என்பதற்கான பதிவாக செயல்படுகிறது. கணினியில் எந்தவொரு செயலும் எவ்வாறு நடந்தது என்பதை எப்போதாவது புரிந்து கொள்ள வேண்டும் என்றால், நாம் (கோட்பாட்டில், shell வரலாறு எவ்வாறு கட்டமைக்கப்பட்டுள்ளது என்பதைப் பொறுத்து) பயன்படுத்த முடியும் என்பதை செயல்படுத்தி வருகிறது.
10 அல்லது 100 பயனர்களின் நடத்தையை தணிக்கை செய்ய வேண்டும் என்றால், இந்த முறை அளவிடப்படவில்லை என்பதை கவனிக்கலாம். shell வரலாறுகள் 1,000 வரிகளின் இயல்புநிலை வரலாற்றுடன் மிக விரைவாக சுழலும், மேலும் அவை எந்த கட்டளையையும் வெற்று இடத்துடன் முன்வைப்பதன் மூலம் எளிதில் தவிர்க்கப்படுகின்றன.
நிர்வாகப் பணிகளில் பூட்டுதல்கள் தேவைப்படும்போது, sudo முழுமையான பூட்டுதலையும், எச்சரிக்கைக்கான துணை அமைப்பையும் வழங்குகிறது, எனவே நாம் மையப்படுத்தப்பட்ட இடத்திலிருந்து செயலபாட்டை மதிப்பாய்வு செய்யலாம் குறிப்பிடத்தக்க நிகழ்வு ஏதாவது நடக்கும் போது எச்சரிக்கையைப் பெறலாம்.
முடிவாக
இந்த கட்டுரையில் பட்டியலிட்டதை விட, தற்போதைய மேம்படுத்துல்களில் உள்ள கூடுதல் வசதிவாய்ப்புகளை sudo எனும் கட்டளை கொண்டுள்ளது. sudo என்பது பெரும்பாலும் நாமே கட்டமைக்கும் ஒன்றாகும், பிறகு மறந்துவிடும் அல்லது ஒரு புதிய நிர்வாககுழுவில் சேரும்போது மட்டுமே நாம் உள்ளமைக்கும் ஒன்றாகும், அதன் நுணுக்கங்களை நினைவில் கொள்வது கடினமாக இருக்கும்.

%d bloggers like this: