جی بلاگ

لینوکس

آموزش نصب و استفاده از VNC

VNC که مخفف شده ی Virtual Network Computing هست و ایجاد ارتباط گرافیکی ساخته شده است.

در سیستم عامل های ویندوز از Remote Desktop Connection یا RDC برای برقراری ارتباط با سرور مجازی یا اختصاصی استفاده میشود و vnc غالبا در سرور های شبه UNIX استفاده می شود.

به کمک VNC میتوان با رابط گرافیکی به سرور متصل شد و عملیات مورد نظر را انجام داد.

 

ادامه ی مطلب

مفهوم load-avarage در یونیکس

مفهوم load average:

در دید اکثر کسانی که با سیستم های لینوکس و شبه یونیکسی آشنایی دارند، عبارت load average  به معنای همان سه عدد اعشاری است که با دستور های top یا uptime در محیط SSH یا پایانه(Terminal) وارد میکنند و اولی مربوط به 1 دقیقه، دومی 5 دقیقه و سومی مربوط به 15 دقیقه اخیر است و هر چقدر این اعداد پایین تر باشند بهتر است!

ادامه ی مطلب

آموزش نصب دایرکت ادمین

لوگوی دایرکت ادمین

دایرکت ادمین که بسیار ساده ، کاربردی و انعطاف پذیر است این روز ها مشتریان زیادی در کشورمان ایران پیدا کرده.ما در اینجا به شما یاد میدهیم که چگونه این نرم افزار را بر روی سرور خود نصب کنید

مرحله اول: نیاز ها

قبل از هرچیزی مطمئن شوید که یک سیستم عامل تمیز و پشتیبانی شده دارید و سرور شما حداقل یک آی پی ایستا و خارجی دارد و کامپایلر های gcc و g++ را نصب شده دارید!

جزئیات دقیق نیاز های دایرکت ادمین را در این مقاله مطالعه کنید.

مرحله دوم: لایسنس

لطفا مطمئن شوید که یک لایسنس معتبر برای سرورخود تهیه کردید.

لایسنس های دایرکت ادمین اکثرا به دو نوع تهیه میشوند: ماهیانه و مادام العمر.

به هر حال درصورتی که شما لایسنس معتبر داشته باشید، باید دو عدد به نام های Client id و  license id داشته باشید.

اگر هنوز لایسنس دایرکت ادمین تهیه نکردید، باما تماس بگیرید تا برای شما این کار را بکنیم.

مرحله سوم: شروع نصب

قبل از هرچیزی از طریق ssh یا terminal وارد سرور خود شوید.اگر بلد نیستید این مقاله را بخوانید.

اگر دسترسی root یا admin به سرور ندارید لطفا از دستور su استفاده کنید.

فایل نصاب دایرکت ادمین را دانلود کنید:

wget http://www.directadmin.com/setup.sh

دسترسی های لازم اجرا شدن را به فایل نصاب عطا کنید:

chmod 755 setup.sh

نصاب را اجرا کنید

./setup.sh

مرحله چهارم: نصب

هنگامی که پیام زیر را دریافت کردید، دکمه y را بفرشارید و اینتر را بزنید

Would you like to install these required pre-install packages? (y/n):

منتظر باشید تا نرم افزار های لازم بر روی سرور شما نصب شود.

سپس متن Please enter your Client ID را مشاهده میکنید.لطفا عدد Client id را که از فروشنده لایسنس دریافت کردید را وارد کنید.

در مورد متن Please enter your License ID هم همانند بالا عمل کنید.

زمانی که متن Enter your hostname را مشاهده کردید نام سرور خود را که به فروشنده لایسنس قبلا دادید، وارد کنید.

هنگامی که Is this correct? را دیدید با دکمه y تایید کنید و در پاسخ Is xxx.xxx.xxx.xxx the IP in your license? اگر آی پی سرور مطابقت میکرد تایید کنید.

در پاسخ Is this correct? (must match license) باز هم y را بفشارید.

ما اگر به جای شما باشیم قطعا در پاسخ پرسش Enter your choice (1 or 2 or 3 or 4) گزینه چهارم را انتخاب میکردیم.

در پاسخ سوال های Would you like the default settings of…. و Would you like to search for the fastest download mirror? به نشانه تایید دکمه y را بفشارید.

سپس منتظر شوید!حتی شاید سی دقیقه تا یک ساعت فقط تماشاچی کد ها و متونی باشید که هیچ چیز آن ها نمیفهمید!

در پایان نصب نام کاربری و پسورد برایتان ذکر میشود.

منبع: وب سایت رسمی دایرکت ادمین

بهینه سازی دایرکت ادمین برای زبان فارسی

لوگوی دایرکت ادمین

دایرکت ادمین یک پنل مدیریت سرور برای مقاصد تجاری و میزبانی وب است و با تمام سادگی از طرفداران زیادی برخوردار است.

اما این برنامه بصورت پیشفرض از کدبندی(Encoding) زبان های لاتین یعنی iso-8859-1 استفاده میکند.ما فارسی زبانان برای اینکه بتوانیم بدون مشکل از ویرایشگر فایل دایرکت ادمین استفاده کنیم باید این کد بندی را به utf-8 تغییر دهیم تا تمامی زبان ها بدون مشکل قابل استفاده باشند.

در این آموزش شما به کمک ما میتوانید این کار را به راحتی انجام دهید.

ادامه ی مطلب

بدست آوردن نام توزیع لینوکسی

توزیع های لینوکسی

گاهی برای نصب برخی از نرم افزار ها یا ایجاد تغییراتی شما به عنوان یک مدیر سرور باید بدانید که چه توزیع و با چه ورژنی از لینوکس بر روی سرور شما نصب شده.

برای بدست آوردن نام و نسخه توزیع لینوکسی ما سه روش یافتیم!

  1. ازطریق اطلاعات /etc/*-release
  2. از طریق دستور lsb_release
  3. از طریق فایل /proc/version

ادامه ی مطلب

نحوه اتصال به ssh

کاربرانی که برای اول سرور های لینوکس را خریداری میکنند همیشه با کلماتی مثل دستورات ssh یا ترمینال مواجه میشوند و متوجه میشوند که یک چیز مهم را نمیدادند.امروزه با وجود کنترل پنل های هاستینگ مختلف از جمله cpanel و directadmin یا webmin بسیاری از نیاز های یک مدیر سرور بدون دسترسی به ssh مرتفع میشود اما هرگز این کارایی کافی نخواهد بود.

ادامه ی مطلب

بیشتر در مورد آسیب پذیری shellshock بدانید

shellshock

کمی در مورد Bash بدانیم!

Bash یک Shell برای سیستم‌ عامل های مبتنی بر Unix هست، به عبارت دیگر Bash یک مفسر است که دستورات کاربر را مدیریت می‌کند. همچنین Bash می‌تواند به عنوان یک مفسر برای CGI Script ها در وب سرور به کار گرفته شود. از اواخر دهه‌ی ۸۰ میلادی، Bash یکی از پرطرفدار ترین‌ها بوده و به صورت پیش‌فرض همراه هر سیستم‌عامل مبتنی بر Linux و البته سیستم‌عامل OS X ارایه می‌شود.

چه سرویس‌هایی می‌تواند آسیب‌پذیر باشد؟

طبق بررسی اولیه، هر سیستم‌عامل مبتنی بر Unix دارای Bash به روز نشده، دستگاه‌های توکار دارای Bash مانند روتر‌ها، دوربین‌های آنلاین و … می‌توانند آسیب‌پذیر باشند.

ریشه‌ی این آسیب‌پذیری چیست؟

Bash به کاربر این قابلیت را می‌دهد که متغیر و یا توابعی (Environment Variable) را تعریف کند که در بین چند Instance از Bash به اشتراک گذاشته شود. ریشه‌ی این باگ در زمان تجزیه (Parse) تعریف تابع می‌باشد. هنگامی که یک تابع به صورت زیر تعریف شود:

VAR='() { :; }; /bin/pwd' bash -c ""

مفسر Bash در تشخیص اتمام تعریف تابع دچار خطا می‌شود. در زمان اجرا شدن Bash این متغیر بارگزاری می‌شود و رشته‌ی بعد از کارکتر ; را اجرا می‌کند. در مثال بالا اجرای /bin/pwd مسیر جاری نمایش داده می‌شود.

بهره‌برداری از این آسیب‌پذیری چگونه امکان‌پذیر است؟

در اینجا منظور از بهره‌برداری، بهره برداری از راه دور می‌باشد؛ یعنی حالتی که نفوذگر دسترسی به سیستم قربانی نداشته باشد. در این حالت باید از طریقی نفوذگر بتواند یک Environment Variable (متغیر محیطی) دستکاری شده را در سیستم قربانی تنظیم کند. با این شرایط بیشترین احتمال برای بهره‌برداری از این آسیب‌پذیری از راه دور از طریق یک CGI Script آسیب‌پذیر خواهد بود. در این شرایط نفوذگر با ارسال یک درخواست دستکاری شده که حاوی دستوراتی خطرناک است می‌تواند کنترل کامل سیستم قربانی را در دست بگیرد. برای مثال بدون دسترسی به سیستم‌ قربانی، از راه دور با ارسال یک درخواست می‌توان هر دستوری را در سیستم قربانی اجرا کرد. مثلاً در یک CGI Script آسیب‌پذیر مانند مثال زیر:

#!/bin/bash
echo "Content-type: text/html"

echo ""
echo '<html>'
echo '<head>'
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
echo '<title>Test</title>'
echo '</head>'
echo '<body>'
/usr/bin/env
echo '</body>'
echo '</html>'
exit 0

با ارسال یک درخواست که مقدار User-Agent در آن تغییر یافته است می‌توان محتوای فایل /etc/passwd را خواند.

curl -A "() { foo;};echo;/bin/cat /etc/passwd" http://example/vulnerable.cgi

آیا من آسیب‌پذیر هستم؟

اگر سیستم‌عامل شما از خانواده Linux و یا OS X است دستور زیر را در خط فرمان وارد کنید. اگر متن You are vulnerable!! را مشاهده کردید یعنی نسخه‌ی آسیب‌پذیر Bash بروی سیستم‌عامل شما نصب شده است.

VAR='() { :; }; echo "You are vulnerable!!"' bash -c ""

همچنین اگر با اجرای دستور زیر یک فایل خالی به اسم echo در سیستم شما ایجاد شود یعنی وصله‌ی ناقص Bash را نصب کرده‌اید و باید دوباره بروز رسانی را انجام دهید.

env X='() { (a)=>\' sh -c "echo date";

چگونه باید آسیب‌پذیری را رفع کنم؟

برای رفع آسیب‌پذیری باید نرم‌افزار Bash را آپدیت کنید. با توجه به نرم‌افزار مدیریت بسته‌ها (Package Manager) نصب شده روی سیستم‌تان باید این کار را انجام دهید. مثلاً در Ubuntu:

apt-get update; apt-get upgrade;

اگر آپدیت توسط نرم‌افزار مدیریت بسته‌ها شناسایی نشد از دستور زیر استفاده کنید:

wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
tar zxvf bash-4.3.tar.gz
cd bash-4.3
./configure
make
make install

در سیستم‌عامل OS X :

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install bash
sudo sh -c 'echo "/usr/local/bin/bash" >> /etc/shells'
chsh -s /usr/local/bin/bash

فعال کردن کاربر root در لینوکس اوبونتو

توزیع اوبونتو که بر پایه Debian شکل گرفته و به قول خودش پرتگاه تکنولوژیست از امکانات و پویایی بسیاری برخوردار است و همین باعث شده که حتی ویکی مدیا هم که خالق دانشنامه WikiPedia است در سپتامبر 2013 تعداد زیادی از سرور های خود را به Ubuntu تغییر دهد.اما این سیستم عامل محبوب و جذاب در نسخه های اخیر خود که شاملد 13.04, 13.10 و 14.04 TLS هم میشود امکان ورود و استفاده از کاربر Root را از طریق Terminal را محدود کرده و باعث شده که بسیاری از ما احساس نا خوشایندی را احساس کنیم.

در این آموزش با کمک دو مرحله کاربر root را فعال خواهیم کرد.

ادامه ی مطلب

یافتن اطلاعات Cpu در ابونتو

cpu

گاهی نیاز میشود که ما اطلاعاتی در مورد سخت افزار سرور خود بدست آوریم که در راس آن ها CPU یا پردازشگر(بیشتر در مورد پردازشگر بدانید) قرار دارد.یافتن این اطلاعات که شامل تعداد ، سرعت و مشخصات دقیق هسته های پردازشگر میشود در این توزیع Linux بسیار ساده است.
ادامه ی مطلب

آموزش حذف Symbolic Link در لینوکس

Linux-Logo

پیوند نمادین(به انگلیسی: Symbolic Link یا symlink یا soft link) فایل هایی ویژه هستند که قابلیت اشاره به فایل یا دایرکتوری دیگری را دارند.ما این فایل را در سیستم های ویندوزی به نام Shortcut هم میشناسیم!اما همیشه حذف این نوع فایل ها همراه با کمی ترس بوده که باعث شود فایل اصلی که به آن اشاره شده هم حذف شود.ما در این جا به شما دو دستور معرفی میکنیم که میتوانید با خیال راحت این کار را انجام دهید.

ادامه ی مطلب

صفحه 1 از 212