Hook-கள் வெற்றியைத் தெரிவிக்கின்றன, அதே பாதை shell-இலிருந்து இன்னும் காலியாகவே தெரிகிறது. இரண்டு கூற்றுகளும் ஒரே நேரத்தில் உண்மையாக இருக்கலாம், ஏனெனில் systemd சேவை தனது சொந்த mount பெயர்வெளியில் தனிப்பட்ட தற்காலிக அடைவுடன் வாழலாம். அது புரிந்ததும், சுவாரஸ்யமான கேள்வி எழுத்து ஏதேனும் வெற்றியடைந்ததா என்பதுதான்.

இரண்டு தற்காலிக அடைவுகள், ஒரே பாதை

தனிமைப்படுத்தல் அமைப்பு அலகுக்கு தற்காலிக அடைவுகளின் தனிப்பட்ட பார்வையைத் தருகிறது, அவற்றை படிக்க-மட்டும் ஆக்குவதற்குப் பதிலாக. அலகுக்கு வெளியே உள்ள செயல்முறைகள் அங்கு எழுதப்படுவதைப் பார்க்க முடியாது, அலகு நின்றால் எஞ்சியவை அனைத்தும் தூக்கி எறியப்படும். எனவே hook அச்சிட்ட பாதையும் shell-இலிருந்து சரிபார்க்கப்பட்ட பாதையும் ஒரே பெயரில் வெவ்வேறு பொருட்களைக் குறிக்கலாம்.

இது பார்வைச் சிக்கல், மேலும் இது தரவு இழப்புச் சிக்கலைப் போலத் தெரிகிறது. எதுவும் நீக்கப்படவில்லை, ஏனெனில் கோப்பு shell உறுப்பினரல்லாத பெயர்வெளியில் மட்டுமே உள்ளது. அதே கட்டளை அலகுக்குள் இயக்கப்படும்போது வேறு விதமாக நடந்துகொள்கிறது, அந்த கவனிப்பே பொதுவாக விவாதத்தைத் தீர்மானிக்கிறது. எழுத்தைப் பற்றி எந்த முடிவுக்கும் வரும் முன் அலகின் அமைப்புகளைப் படியுங்கள்.

காணாததை எழுதமுடியாததிலிருந்து பிரிக்கவும்

வெற்றிகரமான எழுத்தும் தோல்வியடைந்த திறப்பும் வெவ்வேறு சான்றுகளைத் தருகின்றன, அந்த வேறுபாடே பழுதுநீக்கத்தை முடிவு செய்கிறது. hook கோப்பு உருவாக்கப்பட்டது என்று சொன்னாலும் வெளிப்புற வாசகர் அதைக் கண்டுபிடிக்கவில்லை என்றால், உங்களுக்கு பெயர்வெளிக் கேள்வி உள்ளது. ஒரு வேளை hook அனுமதிப் பிழை அல்லது தோல்வியடைந்த திறப்பைத் தெரிவித்தால், கோப்பு எப்போதும் எழுதப்படவில்லை, பெயர்வெளியின் எந்த மாற்றமும் உதவாது.

systemctl show [email protected] -p PrivateTmp -p User -p Group -p RuntimeDirectory
systemctl show [email protected] -p MainPID --value
sudo ls -l /proc/PID/root/tmp/client-state

செயல்முறை-மூல பாதை சேவையின் சொந்த கோப்புமுறைப் பார்வையை வெளிப்படுத்துகிறது, செயல்முறை இன்னும் இயங்கும் வரை அதன் மீதான அனுமதிச் சோதனைகளுக்கு உட்பட்டது. அதே அமர்வில் அலகின் இதழைப் படியுங்கள், ஏனெனில் யாராவது காரணத்தை ஏற்கனவே தீர்மானித்திருந்தால் எழுத்துப் பிழையையும் காணாத கோப்பையும் குழப்புவது எளிது.

பகிரப்பட்ட தரவுக்கு தெளிவான இடத்தைக் கொடுங்கள்

சேவைக்கு மட்டும் தேவையான தரவு அதன் தனிப்பட்ட தற்காலிக அடைவில் இருக்கும். வேறு செயல்முறை படிக்க வேண்டிய தரவுக்கு இரண்டிற்கும் வரையறுக்கப்பட்ட பாதை தேவை, உரிமையாளர், முறைமை மற்றும் காலாவதி குறிப்பிடப்பட்டு. அலகைத் திருத்தும் முன் இரண்டில் எந்த நிலை உங்களிடம் உள்ளது என்று முடிவு செய்யுங்கள். இந்தச் சம்பவங்களில் பெரும்பாலானவை தனிப்பட்ட கோப்பைப் பகிரப்பட்ட கோப்பாகக் கருதுவதிலிருந்தே வருகின்றன.

[Service]
RuntimeDirectory=openvpn-hook-office
RuntimeDirectoryMode=0750

இயக்கநேர அடைவு கோப்புறையை கணினியின் இயக்கநேரப் பகுதியின் கீழ் வைக்கிறது, அலகின் கட்டமைக்கப்பட்ட பயனர் மற்றும் குழுவுக்கு அதை உருவாக்குகிறது, அலகு நின்றால் அதை நீக்குகிறது. தொகுப்பின் அலகு அப்படியே இருக்க drop-in வழியாகச் சேர்க்கவும், பின்னர் மேலாளரை மீண்டும் ஏற்றி அந்த நிகழ்வை மீண்டும் தொடங்கவும், அதன் வாடிக்கையாளர்கள் மீண்டும் இணைவார்கள் என்பதை ஏற்றுக்கொண்டு.

நிறுவப்பட்ட அலகு ஏற்கனவே கோரும் எந்த இயக்கநேர அடைவையும் வைத்திருங்கள். பட்டியலில் சேர்ப்பதற்குப் பதிலாக அதை மாற்றுவது, மாற்றத்துடன் யாரும் இணைக்காத தொடர்பற்ற அம்சத்தை உடைக்கும் பொதுவான வழி.

இரண்டு சலுகை அடுக்குகள் ஒத்துக்கொள்ளாமல் இருக்கலாம்

சேவை மேலாளர் அலகின் கட்டமைக்கப்பட்ட பயனருக்கு அடைவை உருவாக்குகிறார், அதே நேரத்தில் VPN டீமன் இணைப்பு hook-ஐ இயக்கும் முன் தனியாக தனது சொந்தக் கணக்குக்கு இறங்கலாம். இவை வேறு அடுக்குகள், அவை வேறு அடையாளங்களைக் குறிப்பிடலாம்.

கட்டுப்படுத்தும் முறைமையுடன் root உடைமையிலான அடைவு ஏற்கனவே சலுகைகளை விட்ட டீமனுக்கு முழுமையாகத் தெரிகிறது, இருப்பினும் அதற்கு எழுத முடியாது. அப்போது பிழை அனுமதிச் சிக்கலாகப் படிக்கப்படுகிறது, நீங்கள் எதிர்பார்த்த இடத்திலேயே பாதை இருந்தாலும். அடைவின் உரிமையாளரை hook தெரிவிக்கும் அடையாளத்துடன் ஒப்பிடுங்கள். அவை வேறுபட்டால், முறைமை ஒருபோதும் கேள்வியாக இருந்ததில்லை.

உடைமையை மாற்றும் முன் hook உண்மையில் எந்த அடையாளத்தில் இயங்குகிறது என்பதைச் சரிபாருங்கள். அடைவைச் சரிசெய்ய சேவையின் இயக்கப் பயனரை மாற்றுவது வேறு இடங்களில் சாதன அணுகலையும் வலையமைப்புச் சலுகைகளையும் மாற்றக்கூடும், இது சிறிய சிக்கலுக்குப் பெரிய விலை.

முழு ஒப்படைப்பையும் சரிபார்க்கவும்

ஒரே நேரத்தில் நான்கு விஷயங்களை உறுதிசெய்யுங்கள்: hook தனது உண்மையான அடையாளத்தில் எழுதுகிறது, எதிர்பார்க்கப்பட்ட வாசகர் கோப்பைப் பயன்படுத்த முடியும், தொடர்பற்ற பயனர்கள் முடியாது, அலகை நிறுத்துவது வடிவமைத்தபடி சுத்தம் செய்கிறது. ஹோஸ்ட்டின் பகிரப்பட்ட தற்காலிக அடைவில் கோப்பு தோன்றுவது கட்டாயம் அல்ல, பொதுவாக அது பரிமாற்றத்திற்கு ஒருபோதும் சொந்தப் பாதை கிடைக்கவில்லை என்பதற்கான அறிகுறி. மறுதொடக்கத்திற்குப் பிறகு வாசகரைச் சோதியுங்கள், முதல் இயக்கத்தின் போது மட்டுமல்ல. சுத்தம் செய்யும் நடத்தை வடிவமைப்பின் பகுதி, எனவே ஊகிக்காமல் அதைக் கவனியுங்கள்.

நிலையான நிலை ஆயுள் பொருந்தும் இடத்திற்கு உரியது, ஏனெனில் இயக்கநேர அடைவு மறையவே உருவாக்கப்பட்டது. இடத்தை வசதியை விட ஆயுளின் அடிப்படையில் தேர்ந்தெடுங்கள். அந்தப் பழக்கம் அதே விசாரணையின் அடுத்த பதிப்பைத் தடுக்கிறது.

தொடர்புடைய கட்டுரைகள்