در تمامی سیستم عامل ها شل یا پوسته وجود دارد. در واقع شل مفسر دستور های وارد شده از سمت کاربر است. در لینوکس شل به صورت متنی است، یعنی کاربر توسط صفحه کلید دستور را تایپ و اجرا کرده و سپس شل آنرا تفسیر کرده و احتمالا در صفحه نمایش خروجی نشان می دهد. اما در ویندوز متفاوت است. در آن کاربر با ماوس کلیک کرده و خروجی را می بیند. در لینوکس و به طور کلی در سیستم عامل های یونیکسی شل های متفاوتی وجود دارند که حتما بایکدیگر متفاوت هستند و هر کدام ویژگی و محل استفاده خود را دارند.کاربرانی که شل نداشته باشند نمی توانند به سیستم لاگین کنند. پس در زمان ایجاد یک کاربر به جز تعیین نام کاربری آن و نام گروهی که کاربر عضو آن است، لازم است یک شل مانند bash به آن اختصاص داده شود. در اینجاست که کاربران معمولی و کاربر root با کاربران سیستمی متمایز می شوند. یک کاربر سیستمی دارای شب nologin است و این یعنی نمی توان به آن و توسط نام کاربری و گذرواژه اش به سیستم لاگین کرد و این یک نقطه امنیتی است، به طوری که سرویسی مانند Apache دارای نام کاربری و گروه خودش بوده اما چون این نام کاربری از نوع سیستمی است و شل آن nologin پس هکر نمی تواند با حساب کاربری سروبس آپاچی به سیستم لاگین و صدمه وارد کند.