LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

۴ مطلب در تیر ۱۳۹۲ ثبت شده است

اندرنیور اخیرا با مواردی برخورد کرده که لازم دانسته در مورد ان تحقیق کرده و با روشی که فعلا روی وب همیشه حضور داشته و دانلود کنندگان فیلمهای انلاین را قربانی میکند اشنا شود و بیشتر در مورد ان اطلاعات به دست بیاورد. فقط تعداد افرادی را که در سرتاسر جهان میتوانند الوده شوند را مجسم کنید.

شاید عده ای انرا باور نکرده و نپذیرند اما واقعا این چنین چیزی وجود دارد. برای نوشتن این مقاله ما مثالی واقعی را برگزیده و ازمایش کردیم.

۰ نظر موافقین ۱ مخالفین ۰ ۲۳ تیر ۹۲ ، ۰۰:۵۴
مرتضی
یکی از قابلیت های لینوکس multi-user بودن اون هست. به نظر میرسه توضیح مجوزهای دسترسی در لینوکس که به این مطلب هم مربوط میشه بی فایده نباشه :

از آنجایی که لینوکس یک سیستم عامل چند کاربره یا Multiuser می باشد و در هر لحظه بیش از یک کاربر می توانند از سیستم استفاده کنند ، این نکته بسیار ضروری است که بتوانیم این کاربران را مدیریت و از لحاظ سطح امنیتی آنها را محدود کنیم تا در آینده دچار مشکلات امنیتی نشویم. برای درک مفهوم مجوزهای دسترسی ما در ابتدا به معرفی مفاهیم اصلی مانند کاربر و گروه و سپس به بررسی نحوه ی مدیریت کاربران خواهیم پرداخت.

I. کاربران در لینوکس 
در لینوکس سه دسته ی مختلف از کاربران وجود دارند:
۱. کاربر ریشه یا root
۲. کاربر ساده
۳. کاربران سیستم
کاربر اصلی یا SuperUser با نام root شناخته می شود که بر تمام سیستم کنترل کامل داشته و بالاترین سطح دسترسی یک سیستم را دارا می باشد و قابل ذکر است که این کاربر با شناسه ی کاربری یا UserID به شماره ی ۰ شناخته می شود.
کاربر ساده می تواند وارد سیستم شود و کارهای معمولی یک کاربر را انجام دهد. هر کاربر یک دایرکتوری به نام دایرکتوری خانگی یا HomeDirectory دارد که اغلب در home/ و با نام کاربری آن کاربر می باشد و نیز یک شل دارد که در اکثر مواقع bin/bash/ میباشد. این کاربران به منابع سیستم دسترسی ندارند به این معنی که نمی توانند تنظیمات کلی سیستم مثلا سرویس دهنده های وب را تغییر دهند (مگر آنکه کاربر ریشه این مجوز را برای آنها صادر کند). بنابراین این کاربران نمی توانند به سیستم آسیبی برسانند و یا فایل های سیستمی را پاک یا تغییر دهند. در لینوکس هر سیستمی علاوه بر یک کاربر ریشه حداقل یک کابر ساده نیز دارد تا کار های معمولی و حتی کارهای کاربر خانگی توسط این کاربر ساده انجام گیرد تا از آسیب دیدن سیستم جلوگیری شود. (این آسیب می تواند پاک شدن یک فایل سیستمی به دلیل نا آشنایی کاربر ساده باشد.)

کاربران سیستم هرگز Login نمی کنند. حساب های کاربری یا Account های این کاربران برای کارهای خاص استفاده می شود. این کاربران معمولا دایرکتوری خانگی نیز ندارند. نمونه ای از این کاربران ٬ کاربران ftp ، apache ،lp می باشند. کاربر ftp برای دسترسی بی نام (Anonymous) یا همان بدون نام کاربری و پسورد استفاده می شود یا کاربرapache معمولا برای مدیریت درخواست های HTTP استفاده می شود. (البته در برخی توزیع های لینوکس این کاربر nobody یا www-data می باشد.)
برای دیدن لیستی از کاربران موجود در سیستم (هر سه دسته ی بالا) می توانید فایل etc/passwd/ را ببینید. در این فایل هر خط نشان دهنده ی یک کاربر می باشد و اطلاعات مربوط به کاربر در مقابل آن کاربر نمایش داده می شود.
۰ نظر موافقین ۱ مخالفین ۰ ۲۳ تیر ۹۲ ، ۰۰:۴۷
مرتضی

لازن دونستم فعلا یک توضیحات کلی رو راجع به این مطلب قرار بدم. با توجه به اینکه در پست قبلی از مفهوم کلاس استفاده کردم...


کلاس 

کلاس روشی برای بسته بندی نوع داده مجرد است . در کلاس امکان بسته بندی و محصور کردن (Encapsulation) مجموعه ای از داده ها است . روال های پردازش کننده این داده ها را به صورت یک بسته فراهم می کند.

داده های داخل یک کلاس به وسیله کلاس محافظت می گردد. به گونه ای که پردازش داده های خصوصی یک کلاس از طریق روال های دخلی آن امکان پذیر است . داده های یک کلاس را متغیرهای کلاس و روال های آن را روش نامیده اند.

برای مثال کلاس انسان ها یک کلاس قابل تعریف است. در این کلاس خصوصیات مشترک انسانها تعریف می گردد و هیچ انسان خاصی را نشان نمی دهد. کلاس یک نوع است. همانگونه که مثلا int یک نوع است.

عملیات محاسباتی (یا غیر محاسباتی) بر روی نوع داده انجام نمی شود. بلکه این عملیات بر روی متغیرهایی که از این نوع داده تعریف می گردد انجام می شود. به طور مشابه عملیات محاسباتی (یا غیر محاسباتی) روی کلاس انجام نمی شود.

۰ نظر موافقین ۱ مخالفین ۰ ۲۰ تیر ۹۲ ، ۱۴:۰۷
مرتضی

پایتون چیست؟

پایتون یک زبان برنامه ‌نویسی همه منظوره، سطح بالا، شی گرا و مفسر است که فلسفه ایجاد آن، تاکید بر دو هدف اصلی خوانایی بالای برنامه‌های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است. کلمات کلیدی و اصلی زبان پایتون به صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌هایی که در اختیار کاربر است بسیار وسیع هستند. یک کار غیر معمول که در طراحی زبان پایتون انجام گرفته، استفاده از فاصله و جلوبردن متن برنامه برای مشخص کردن بلاک‌های مختلف کد است.

پایتون مدل‌های مختلف برنامه نویسی (از جمله شی گرا و برنامه نویسی دستوری و تابع محور) را پشتیبانی می‌کند و برای مشخص کردن نوع متغییرها از یک سامانه پویا استفاده می‌کند. زبان برنامه نویسی پایتون از زبان‌های برنامه نویسی مفسر بوده و به صورت کامل یک زبان شی‌گرا و از مدیریت خودکار حافظه استفاده می‌کند.


دیگر ویژگی های پایتون

۱) پایتون Interpreted است:

 این زبان مانند perl و php نیاز به کامپایل شدن ندارد پ هنگام اجرا خط به خط تفسیر میشود.


۲) پایتون Interactive است:

این زبان برای راحتی کار برای شما محیط prompt که بتوان از طریق آن برنامه را مستقیما نوشته و اجرا کرد را میدهد. جهت دیدن محیط prompt کافی ست در ترمینال عبارت python را بنویسید تا خروجی شبیه به خروجی زیر دریافت نمایید:

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
۰ نظر موافقین ۲ مخالفین ۰ ۱۳ تیر ۹۲ ، ۱۴:۵۲
مرتضی