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

கட்டுக்கதை: இரண்டு பட்டியல்கள் ஒரு விதியை உருவாக்குகின்றன

smb.conf குறிப்பு valid users மற்றும் hosts allow ஆகியவற்றை இரண்டு தொடர்பில்லாத அளவுருக்களாக வரையறுக்கிறது, ஒரே பங்கிடலில் இரண்டையும் அமைப்பதில்தான் குழப்பம் தொடங்குகிறது. valid users = mira, tomas மற்றும் hosts allow = 10.77.0.21, 10.77.0.22 அமைக்கவும், நான்கு சேர்க்கைகள் ஏற்கப்படுகின்றன: மீரா எந்த முகவரியிலிருந்தும், தோமஸ் எந்த முகவரியிலிருந்தும். உள்ளமைப்பில் எதுவும் முதல் பெயரை முதல் முகவரியுடன் இணைக்கவில்லை, பெயர்கள் தோன்றும் வரிசைக்கு அர்த்தமில்லை. அவற்றை மறுவரிசைப்படுத்துவது, இரண்டாவது hosts allow வரியைச் சேர்ப்பது அல்லது ஒரு வரிக்கு ஒரு பெயர் வைப்பது எதையும் மாற்றாது. முடிவு இரண்டு பட்டியல்களின் பெருக்கல், அவற்றுக்கிடையே ஒரு பொருத்தம் அல்ல.

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

Samba எதை, எந்த வரிசையில் மதிப்பிடுகிறது

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

அதனால்தான் ஒரு பங்கிடல் ஒரு பயனரை ஒரு முகவரியுடன் இணைக்க முடியாது: hosts allow மற்றும் valid users ஒரே மர-இணைப்பு படியில் பயன்படுத்தப்படும் தனித்தனி நிபந்தனைகள், ஒவ்வொன்றும் அதன் சொந்த கேள்விக்கு பதிலளிக்கிறது. புரவலன் நிபந்தனை கணக்கின் பெயரை உள்ளீடாக எடுப்பதில்லை, எனவே அதை ஒவ்வொரு பயனருக்கும் எழுத முடியாது. இணையை வெளிப்படுத்த முடியும் இரண்டாவது பங்கிடல் அல்லது Samba க்கு வெளியேயுள்ள கொள்கை அடுக்கு மட்டுமே.

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

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

ஒரு அடைவின் மேல் இரண்டு பங்கிடல் பெயர்கள்

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

[shared-mira]
    path = /srv/shared
    guest ok = no
    read only = yes
    valid users = mira
    hosts allow = 10.77.0.21
    hosts deny = ALL

[shared-tomas]
    path = /srv/shared
    guest ok = no
    read only = yes
    valid users = tomas
    hosts allow = 10.77.0.22
    hosts deny = ALL

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

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

மூல முகவரி எதை நிரூபிக்க முடியும்

Samba பார்க்கும் முகவரி சேவையகத்தை அடைந்த முகவரி, வாடிக்கையாளர் தன்னிடம் இருப்பதாக நினைக்கும் முகவரி அல்ல. ஒவ்வொரு வாடிக்கையாளரையும் ஒரே மூல முகவரியாக மொழிபெயர்க்கும் VPN நுழைவாயில் அந்த வேறுபாட்டை அழிக்கிறது: அனைத்து வாடிக்கையாளர்களும் ஒரே புரவலனாக வருகிறார்கள், மூல பட்டியல் இனி அவர்களை வேறுபடுத்த முடியாது. ஒவ்வொரு வாடிக்கையாளருக்கும் நிலையான ஒதுக்கீடு மற்றும் மூலத்தைப் பாதுகாக்கும் நுழைவாயில் ஆகியவை முகவரிகளைக் கொள்கையாகப் பயன்படுத்துவதற்கான முன்நிபந்தனைகள். இரண்டும் இல்லாமல் வரம்பு பயனரை அல்ல, நுழைவாயிலை அளக்கிறது.

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

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

குறுக்கு இணைகளால் நிரூபியுங்கள்

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

testparm -s
smbclient //fileserver/shared-mira -U mira -c 'ls'
smbclient //fileserver/shared-tomas -U tomas -c 'ls'
smbstatus --shares

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

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

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