صفحه اصلی arrow مقالات arrow تنظيمات sharing بین ویندوز و لینوکس (Samba Settings)

تنظيمات sharing بین ویندوز و لینوکس (Samba Settings) چاپ ارسال به دوست
رای کاربران: / 2
ضعیفعالی 
مقالات - مقالات
نویسنده آقاي ميرخليلي   
۲۴ تير ۱۳۸۷
كاربران محترم چنانكه ميدانيد بسته‌نرم‌افزاري سمبا با هدف تسهيل فرآِند شيرينگ (پشتيباني از پروتكل شيرينگ ويندوز) ايجاد شده است. در ادامه نحوه انجام تنظيمات اين بسته‌ نرم‌افزاري آمده است.
تمام تنظيمات اين سرويس (خادم) در فايل smb.conf قرار دارد كه در زير آمده است.
اين فايل كه مهمترين فايل موجود در مجموعه اين خادم مي‌باشد در آدرس /etc/samba/smb.conf قرار دارد و داراي ساختمان زير مي‌باشد.
# Command
[global]
netbios name = samba24
server string = CAD architects, Stockholm, east workgroup = MSHOME
hosts allow = 200.200.200.12
printcap name = /etc/printcap
load printers = no
printing = cups
cups options = raw

أ‌.   توضيحات كه با علامت # نمايش داده مي‌شود.
ب‌.   بخش كه با علامت […..] و داخل آن توضيح آن بخش درج مي‌گردد. اين بخش از اهميت بالايي برخوردار است، و حذف علامت آن باعث حذف آن بخش مي‌شود.
ت‌.   پارامترها اين بخش كه در ادامه به طور كامل مورد بحث قرار خواهد گرفت با يك واژه شروع و بعد علامت = و در مقابل مقدار مورد نظر.
ث‌.   آخرين جزء علامت ; مي‌باشد كه براي غير فعال كردن يكي از موارد بالا بكار مي‌رود.

پارامترها بخش Global فايل smb.conf
پارامترها يا همان عنصرهاي فايل اصلي سامبا هر كدام خصوصيتي را ايجاد و مجموعه اين خصوصيتها قابليت و امكاني را فراهم مي‌كنند، كه ما مي‌توانيم. خواسته‌هاي خود را دنبال كنيم. اين پارامترها عبارت‌انداز:

 workgroup
اين پارامتر نامي‌را براي اين ايستگاه كاري جهت شركت در يك گروه كاري در شبكه اختصاص مي‌دهد. در واقع در شبكه براي دسته بندي رايانه‌ها نياز به نام گروهي مي‌باشد كه به آن Workgroup مي‌گويند، و اگر خواسته باشيم در گروه رايانه‌هاي MSHOME باشيم مي‌نويسيم.
workgroup = MSHOME

 NetBios name
يا همان شناسه رايانه در شبكه است نامي‌كه در شبكه به IP آن اختصاص داده مي‌شود و ما مي‌توانيم آن را در شبكه شناسايي كنيم. بعنوان مثال اگر خواسته باشيم نام شبكه samba24 باشد اينگونه مي‌نويسيم.
netbios name = samba24

 hosts allow
در شبكه‌هاي بزرگ گاهاً ما نياز داريم جهت امنيت بيشتر بازه‌اي از رايانه‌ها را مجوز دسترسي دهيم. و از نفوذ كامپيوترهاي غيرمجاز جلوگيري كنيم.
مثلاً براي دسته آدرسهاي 192.168.220.1  تا 192.168.220.254 و 134.213.233.1 تا 134.213.233.254 و كامپيوتر محلي باشد اينگونه مي‌نويسيم.
# Networking configuration options
hosts allow = 192.168.220. 134.213.233. localhost

 hosts deny
اگر كامپيوتر خاصي را بايد از خدمات سامبا محروم كنيم. از اين دستور استفاده مي‌كنيم مثلاً كامپيوتري كه آدرس آن 192.168.220.102 باشد به طريقه زير عمل مي‌كنيم.
hosts deny = 192.168.220.102
سه سطح براي فراهم كردن حداقل امنيت در يك سايت شبكه وجود دارد كه عبارتند از ديواره، آتش خود سامبا و  تنظيم كارساز ميزباني كه در حال اجراي سامبا است.
سامبا از نظر فراهم كردن امكانات امنيتي در شبكه بسيار قابل انعطاف است و تا آنجائيكه ممكن است از پروتكل‌هاي مطمئن استفاده مي‌كند براي اين منظور سامبا از روش‌هاي مختلفي استفاده مي‌كند از جمله استفاده از همان ACL در روي هر منبع مشترك در اين بخش به بررسي اين روش‌ها و امكانات مي‌پردازيم. نكته قابل توجه اين است كه هرگز با رعايت اين نكات امنيتي نبايد تصور كنيد كه كارساز سامباي شما به يك دژ غير قابل نفود تبديل شده است.
در موارد زيادي كه سامبا را نصب مي‌كنيم، اكثر رفتارهاي غير عادي از خارج از شبكه صورت مي‌پذيرد و به طور پيش فرض سامبا تمام درخواستهايي را از هر ميزبان قبول مي‌كند يعني اگر سامبايي كه نصب كرده‌ايد ناامن باشد و مستقيماً به اينترنت وصل باشد قطعاً‌ نفوذپذير خواهد بود.
يكي از ساده ‌ترين راه‌هاي جلوگيري از اين امر استفاده از این پارامتر است كه مي‌توان در پرونده تنظيم سامبا به صورت زير اضافه كرد.
hosts allow = 192.168.2.0/24 192.198.3.0/24 localhost
hosts deny = 0.0.0.0/0
در مثال بالا فقط به اتصالات سامبا كه از خود كارساز و دو شبكه  192.168.2. و 192.198.3. برقرار مي‌شود اجازه برقراري اتصال داده مي‌شود و غير از اين موارد هيچ كس حق اتصال ندارد و به محض فرستادن اولين بسته ارسالي رد خواهند شد.

 Security
در سرويس سامبا تعيين توع سياست برخورد با مشتركين توسط اين گزينه انجام مي‌شود. اين گزينه نحوه اعمال تنطيمات امنيتي را ايجاد مي‌كند كه در فصل سوم شرح داده شده است.
هدف از تنظيم اين پارامتر ايجاد سطوح مختلف امنيتي در سامبا و چگونگي برقراري آن با كارخواه‌ها و نيز اعمال سياستهاي امنيتي مورد نظر توسط مديران سامانه است. در دنياي شبكه‌هاي SMB فقط دو نوع سطح امنيتي  وجود دارد.
سطح امنيتي كاربر (User Level Security)
سطح امنيتي مشترك (Share Level Security)
در واقع سطح امنيتي كاربر به چهار صورت پياده سازي مي‌شود و سطح امنيتي مشترك فقط به يك صورت مي‌توان پياده سازي كرد جمعاً به اين پنج روش مختلف پياده سازي حالتهاي امنيتي گفته مي‌شود و عبارتند از: Server – ADS – Domain – User - Share
اين سطوح مختلف را يك به يك شرح خواهيم داد. در واقع هنگامي‌كه يك كارخواه سامبا بالا مي‌آيد، بايد به كارساز سامبا بگويد كه در چه سطح امنيتي كار مي‌كند، سطح مشترك  يا سطح كاربر، طبق سطح امنيتي كه كارخواه دارد بايد خودش را براي كارساز معرفي كند.


 Security=User
ساده‌ترين نوع سطح امنيت، سطح امنيت كاربر است، در اينجا كارخواه درخواست برقراري يك نشست را به كارساز مي‌فرستد. در اين درخواست نام كاربر و كلمه عبور نيز فرستاده مي‌شود.
كارساز سامبا مي‌تواند اين درخواست را با كلمه عبور و نام كاربر قبول يا رد نمايد. در سطح امنيت كاربر كارساز نمي‌تواند هيچ دخالتي در اين كارخواه به چه منبعي دسترسي پيدا مي‌كند داشته باشد و در واقع تنها معيار قبول و رد درخواست كارخواه فقط دو چيز است.
نام كاربري و كلمه عبور
نام ماشين كارخواه
اگر كارساز اين درخواست را قبول كند كارخواه مي‌تواند بدون دادن هيچ كلمه عبور ديگري منابع به اشتراك گذاشته شده را براي خود سوار كند چون فرض بر اين است كه كليه حقوق و مجوزهاي دسترسي در برقراري و تشكيل يك نشست به كارخواه داده شود.
همچنين ممكن است از سوي كارخواه چند درخواست تشكيل نشست ارسال شود. كارساز با قبول يك درخواست تشكيل نشست به كارخواه يك شناسه كاربري  اختصاص مي‌دهد كه به عنوان پارامتر احراز هويت براي نام كاربر و كلمه عبور دريافت شده در نظر گرفته خواهد شد.
بنابراين كارخواه به راحتي مي‌تواند از همين شناسه كاربري براي نشستهاي بعدي نيز استفاده كند يك برنامه كاربردي كه اين كار را انجام مي‌دهد WinDD نام دارد.
نحوه تنظيم امنيت در سطح كاربر به اين ترتيب است كه بايد در پرونده smb.conf پارامتر را به شكل زير مقدار دهي مي‌كنيم.
Security=User


 Security=Share
در اين نوع تنظيم امننيت هر كارخواه بايد براي هر منبع به اشتراك گذاشته شده به طور جداگانه احراز هويت شود. در واقع براي استفاده از هر منبع مشترك بايد يك كلمه عبور داشته باشد.
يعني مي‌توان چند پوشه را به گونه‌اي تنظيم نمود كه هر كدام براي كاربر خاص باشد. اين پارامتر به شكل زير تنظيم مي‌شود.
Security=Share


 Security=Domain
وقتي سامبا در حالت دامنه كار مي‌كند به اين معني است كه كارساز سامبا يك حساب در يك دامنه دارد كه تمام درخواستهاي احراز هويت را به كنترل كننده دامنه آن ارسال مي‌كند به عبارت ديگر با اين تنظيم كارساز سامبا به عنوان عضوي از يك دامنه محسوب مي‌شود.
نحوه تنظيم به شكل زير است.
Security=Domain
براي اينكه اين تنظيمات به درستي عمل كند ، بايد به دامنه مربوطه متصل شويد. براي اتصال به دامنه كارهاي زير را بايد انجام دهيم.
روي كنترل كننده دامنه WinNT با استفاده از مدير كارساز يك حساب به نام ماشين كار سساز سامبا ايجاد مي‌كنيم.
روي سامانه لينوكس خود دستور زير را اجرا نمائيد.
# net rpc join –U administrator % password
بنابراين لزومي‌به مشخص كردن نام دامنه يا PDC-Name نيست و اين تنظيمات در پرونده smb.conf انجام مي‌شود.
وقتي از اين مد استفاده مي‌كنيم به يك حساب كاربري لينوكسي استاندارد براي هر كاربر نياز داريم تا به يك شناسه كاربري احراز هويت شده توسط Windows اختصاص يابد.


 Security=ADS
سامبا مي‌تواند به Active Directory Domain متصل شوند البته هنگام يك دامنه در حالت Native در حال اجرا باشد. Active Directory در حالت Native به تمام عضو‌هاي دامنه با سامانه عامل NT4-Style اجازه كار مي‌دهد و فقط به ابزارهاي كنترل كننده پشتيبان دامنه‌اي كه NT4-Style هستند اجازه كار نمي‌دهد براي تنظيم سامبا در اين حالت بايد پارامتر فوق را به صورت زير تنظيم نمود.
Security=ADS


 realm
زماني كه نياز به ايجاد Active Directory Domain باشد از اين گزينه با تنظيم زير به همراه تنظيم امنيتي انجام مي‌دهيم.
realm = your.kerberos.REALM


 interfaces
اگر مشتري بعد از اتصال نياز به يك رابط داشته باشد در اين پارامتر اين رابط را مشخص و در پارامتر بعدي نمايش يا عدم نمايش آن را مشخص مي‌كنيم.
اين قابليت در DHCP غير فعال است زيرا نمي‌توان كامپيوتر خاصي را مشخص نمود.
به دو شكل مي‌توان اين پارامتر را تنظيم نمود.
interfaces = 192.168.220.100/24
interfaces = 192.168.220.100/255.255.255.0
كه عدد 24 تعداد يك ماسك را مشخص مي‌كند.


 bind interfaces
به طور پيش‌فرض سامبا براي همه آدرسها فعال است، اين تنظيم ايجاد دو سرويس smbd and nmbd را براي آدرسهاي مشخص شده فعال مي‌كند. براي فعال شدن اين سرويسها براي كامپيوتر محلي زمان فعال بودن اين گزينه بايد آدرس محلي را نيز به آدرسها اضافه كنيم، براي فعال شدن اين قابليت اينگونه عمل مي‌كنيم.
bind interfaces only = yes


 socket address
سامبا با مشخص شدن آدرسها با دستور ياد شده به آنها گوش مي‌دهد اما مي‌توان يك آدرس را به عنوان پيش‌فرض براي ارتباط بقيه با اين دستور مشخص نمود، فقط بايد توجه داشت اين دستور بعد از دستور interfaces بيايد مانند حالت زير.
interfaces = 192.168.220.100/24 192.168.210.30/24
socket address = 192.168.210.30


 log level
سامبا براي مديريت از خطاها گزارش تهيه مي‌كند براي دقتهاي متفاوت مي‌توان از اين پارامتر استفاده نمود. پيش‌فرض 0 يا 1 است و آن را مي‌توان تا 10 تنظيم نمود. به شكل زير:
log level = 3


 max log size
پارامتر max log size براي مشخص نمودن بيشترين حجم به كيلوبايت براي ايجاد فايل گزارش مي‌باشد. زماني كه فايل گزارش به اين‌اندازه رسيد سامبا اين فايل را به نام قديمي‌ذخيره و فايلي با نام جديد ايجاد مي‌كند، و با توجه به فضاي هارد فايل قبلي بعد از مدتي پاك خواهد شد. مثلاً براي مشخص نمودن فايلي به‌اندازه يك مگابايت اينگونه مي‌نويسيم.
max log size = 1000


 log file
پارامتر log file براي مشخص نمودن آدرس فايل گزارش مي‌باشد. در اين پارامتر مسير و نام فايل براي گزارش گيري بيان مي‌شود، مانند مثال زير:
log file = /usr/local/logs/samba.log.%m


 debug timestamp or timestamp logs
پارامتر debug timestamp  يا timestamp logs براي فعال يا غير فعال نمودن درج زمان خطاها يا اشکال زدايى‌ها به همراه نوع آن در فايل مي‌باشد.
debug timestamp = yes
در زير يك گزارش با فعال بودن اين قابليت آمده است همانطور كه مشاهده مي‌شود اين گزارش همراه با درج تاريخ و زمان مي‌باشد.
12/31/98 12:03:34 hydra (192.168.20.11) connect to server network as user davecb


 syslog only
پارامتر syslog only براي فعال يا غير فعال نمودن سامبا براي فقط گزارش گيري مي‌باشد. اين گزينه با درج آن در قسمت عمومي‌فعال مي‌شود.
syslog only = yes


 syslog
پارامتر syslog كه همانند log level براي مشخص نمودن قدرت گزارش خطاها مي‌باشد. كمي‌قوي‌تر عمل نموده و خطاهاي سيستمي‌را نيز بررسي مي‌كند اين پارامتر نيز از صفر تا ده قابل شماره گذاري است. و هر شماره اولويتي را مشخص مي‌كند و بطور پيش‌فرض در صورت عدم درج اين گزينه يك مي‌باشد،‌
syslog = 1
Log Level    Syslog Priority
0    LOG_ERR
1    LOG_WARNING
2    LOG_NOTICE
3    LOG_INFO
4 and above    LOG_DEBUG


 valid users and invalid users
پارامتر valid user براي مشخص نمودن کاربران مجاز در سامبا مي‌باشد. اين گزينه با درج آن در قسمت تعریف کاربران معرفی مي‌شود. به مثال زیر توجه کنید.
[global]
security = user
[accounting1]
writable = yes
valid users = ali, hasan, abolfazl
مي‌توان دسترسي به كارساز را با كاربران خاصي نيز محدود كرد. اگر بخواهيد فقط كاربراني كه مد نظر داريد به كارساز وصل شوند. بايد در بخش global از پرونده تنظيم smb.conf به صورت زير عمل كنيم.
valid users = ali, @cad
به اين ترتيب اجازه دسترسي به كارساز يا از طريق كاربر ali و يا اعضاي گروه cad امكان پذير خواهد بود.
همانطور که در بالا مشاهده مي‌‌کنید مي‌‌توان به گروهی اجازه دسترسی را داد و گاهی نیاز است گروه یا شخصی را از دسترسی محروم نمود در این صورت از تنظیم زیر استفاده مي‌‌کنیم.
# who is NOT allowed to connect to ANY service
invalid users = @pc, karim
در مثال فوق گروه pc و کاربر karim اجازه دسترسی ندارند.

موفق باشيد

بازدید: 447

اولین یادداشت برای این مطلب
 RSS یادداشت ها

ایجاد یادداشت
  • لطفا نظرات خود را در مورد این مطلب در اینجا ثبت کنید
نام:
پست الکترونیکی شما:
وب سایت شما:
عنوان:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
یادداشت



کد امنیتی: (کد مقابل را داخل کادر وارد کنید)* Code
ارسال یک رونوشت از یادداشت به پست الکترونیک شما

آخرین بروز رسانی ( ۰۵ مهر ۱۳۸۷ )
<قبل   بعد>