உங்கள் IPv4 முகவரி:
இயக்க முறைமை:
இருப்பிடம்:
வழங்குநர்:

chmod அனுமதிகள் எப்படிச் செயல்படுகின்றன: 755, 644 மற்றும் sticky bit

Unix போன்ற அமைப்புகளில் கோப்புகள் மற்றும் டைரக்டரிகளின் அணுகல் அனுமதிகளை chmod மாற்றுகிறது. படித்தல், எழுதுதல், இயக்குதல் ஆகிய அனுமதிகள் உரிமையாளர், குழு, மற்ற பயனர்கள் என ஒவ்வொருவருக்கும் தனித்தனியாக அமைக்கப்படுகின்றன. டைரக்டரி அனுமதிகளுக்குத் தனிப் பொருள் உண்டு: பெயர்களைப் பட்டியலிடுதல், உள்ளீடுகளை உருவாக்குதல் அல்லது நீக்குதல், தெரிந்த பாதையை அணுகுதல் ஆகியவற்றை அவை தீர்மானிக்கின்றன.

எண் முறையும் குறியீட்டு முறையும்

chmod u+x script.sh போன்ற குறியீட்டுக் கட்டளை, கோப்பை இயக்கும் அனுமதியை உரிமையாளருக்குத் தருகிறது. எண் முறையில் படித்தல் 4, எழுதுதல் 2, இயக்குதல் 1. அதன்படி 755 என்பது rwxr-xr-x: உரிமையாளர் படிக்கலாம், எழுதலாம், இயக்கலாம்; குழுவும் மற்றவர்களும் படிக்கவும் இயக்கவும் மட்டுமே முடியும். சாதாரணப் பொதுக் கோப்புக்கு 644 பெரும்பாலும் பொருந்தும்; ஆனால் அது கோப்பு எதற்குப் பயன்படுகிறது என்பதைப் பொறுத்தது. பழக்கமான ஓர் எண் எல்லா இடத்துக்கும் பொருந்தும் பாதுகாப்பு அமைப்பு என்று நினைக்க வேண்டாம்.

டைரக்டரி அனுமதிகள் ஏன் முக்கியம்

டைரக்டரியில் read அனுமதி இருந்தால் அதிலுள்ள பெயர்களைப் பட்டியலிடலாம்; write அனுமதி இருந்தால் உள்ளீடுகளை மாற்றலாம்; execute அனுமதி இருந்தால் தெரிந்த பாதை வழியாக உள்ளே செல்லலாம். ஒரு கோப்பை நீக்க முடியுமா என்பது பொதுவாக அந்தக் கோப்பின் write அனுமதியைப் பொறுத்ததல்ல, அதன் தாய் டைரக்டரியின் அனுமதிகளைப் பொறுத்தது. எனவே 444 என அமைக்கப்பட்ட கோப்பைக்கூட, டைரக்டரியில் போதுமான அணுகல் உள்ள ஒருவர் நீக்கிவிட முடியும். இந்த வேறுபாட்டை GNU Coreutils கையேடு விளக்குகிறது. கடைசிக் கோப்பு படிக்கக்கூடியதாகத் தெரிந்தும் அணுகல் தோல்வியடைந்தால், ஒவ்வொரு தாய் டைரக்டரியையும், சேவை எந்தப் பயனர் அடையாளத்தில் இயங்குகிறது என்பதையும் சரிபாருங்கள்.

வெப் ஹோஸ்டிங் எடுத்துக்காட்டு

HTML கோப்புகள் உள்ள ஒரு டைரக்டரியை வெப் சர்வர் படிக்க வேண்டும், ஆனால் அதன் உரிமையாளர் மட்டுமே புதுப்பிக்க வேண்டும் என்று வைத்துக்கொள்ளுங்கள். டைரக்டரிகளுக்கு 755, சாதாரணக் கோப்புகளுக்கு 644 என்பது ஒரு தொடக்கப் புள்ளியாக இருக்கலாம். அப்போதும் சேவைக் கணக்கு, குழுக்கள், ஹோஸ்டிங் விதிகள் ஆகியவற்றைக் கணக்கில் கொள்ள வேண்டும்; ரகசிய விவரங்கள் உள்ள உள்ளமைவுக் கோப்புகளுக்கு இன்னும் கடுமையான அணுகல் தேவைப்படலாம். ஒரு பிழைச் செய்தியைப் போக்குவதற்காக எல்லாவற்றையும் 777 ஆக்கினால், எந்த உள்ளூர்ப் பயனரும் கோப்புகளை மாற்றக்கூடிய நிலை உருவாகி, பாதுகாப்புச் சிக்கல் ஏற்படலாம். மாற்றுவதற்கு முன் தற்போதைய உரிமையாளரையும் அனுமதிகளையும் stat, ls -l மூலம் பாருங்கள்.

Setuid, setgid மற்றும் sticky bit

முன்னால் சேர்க்கப்படும் நான்காவது எண்ம (octal) இலக்கம் சிறப்பு பிட்களைக் குறிக்கிறது: setuid-க்கு 4, setgid-க்கு 2, sticky-க்கு 1. எடுத்துக்காட்டாக, 4755 இயங்கக்கூடிய கோப்பில் setuid-ஐ அமைக்கிறது; 455 அப்படிச் செய்யாது. நிரலில் உள்ள குறைபாடுகள் உரிமையாளரின் சிறப்புரிமைகளுடன் இயங்கக்கூடும் என்பதால் setuid-ஐக் கவனமாகப் பயன்படுத்த வேண்டும். டைரக்டரிகளில் setgid இருந்தால், புதிய உள்ளீடுகள் அந்த டைரக்டரியின் குழுவைப் பெறும். /tmp போன்ற பகிரப்பட்ட டைரக்டரியில் உள்ள sticky bit, மற்றொரு பயனரின் கோப்புகளை யார் நீக்கலாம் அல்லது பெயர் மாற்றலாம் என்பதைக் கட்டுப்படுத்துகிறது. chmod -R இயக்கும் முன், அந்த டைரக்டரி மரத்தில் என்னென்ன இருக்கின்றன என்று கவனமாகப் பாருங்கள்: சாதாரணக் கோப்புகள், இயங்கக்கூடிய கோப்புகள், டைரக்டரிகள் எல்லாவற்றுக்கும் ஒரே அனுமதி தேவைப்படுவது அரிது.