Skip to Content

آرشیو دسته بندی ها:Uncategorized

نصب و راه اندازی سرویس VSFTP در CentOS

نصب و راه اندازی سرویس VSFTP در CentOS

آموزش گام به گام نصب و راه اندازی سرویس FTP در لینوکس

آموزش نصب و راه اندازی سرویس VSFTP در CentOS

در این پست به معرفی سرویس vsftp و برخی از پارامتر های مورد استفاده در آن خواهیم پرداخت و در ادامه به نحوه پیکربندی سرویس و تست عملکرد آن خواهیم پرداخت. در انتهای این آموزش شما قادر خواهید بود که سرویس vsftp را راه اندازی نمایید و به صورت اولیه سرویس خود را ایمن نمایید.

FTP چیست:

FTP پروتکلی است که با هدف انتقال فایل در بستر شبکه ایجاد شده است و برای کاربران امکان اتصال و انتقال فایل از کلاینت به سرور را فراهم می نماید.

این پروتکل یکی از رایج ترین و ساده ترین پروتکل های مورد استفاده در شیکه برای انتقال فایل می باشد ولی به دلیل اینکه در تبادل اطلاعات از رمزنگاری استفاده نمیکند دارای امینت بسیار پائین است در نتیجه مورد هدف Exploit های بسیاری است.

vsftp چیست؟:

vsftp یکی از سرویس های ارائه FTP است که مخفف کلمات Very Secure File Transfer Protocol  میباشد. این سرویس به علت امنیتی که در عین سادگی پیکربندی فراهم میکند بسیار مورد توجه قرار گرفته است و به صورت گسترده نیز در حال استفاده است. برخی از امکانات این سرویس به شرح زیر است:

    • امکان استفاده از virtual IP
    • پشتیبانی از virtual user
    • قابلیت کار به صورت Standalone یا تحت نظر inetd
    • فراهم بودن ایجاد محدودیت در پهنای باند
    • پشتیبانی از IPv6
    • رمز نگاری اطلاعات از طریق ssl

نصب و راه اندازی vsftp:

در این آموزش از سیستم عامل CentOS به عنوان سرور استفاده شده است. پکیج مربوط به این سرویس vsftpd نام دارد و در repository های پیش فرض این سیستم عامل قرار دارد.

با استفاده از yum پیکیج vsftpd  را نصب می نماییم.

yum –y install vsftpd

بعد دانلود و نصب پیکیج های مورد نیاز، می بایست سرویس را start  و  enable  کرده تا سرویس در هر بار بوت به صورت اتوماتیک اجرا گردد.

systemctl enable vsftpd 
systemctl start vsftpd

حال برای این که امکان سرویس دهی از طریق پروتکل ftp  به سیستم های داخل شبکه فراهم شود، نیاز است رول های مربوطه در firewalld  به صورت دائمی اضافه گردند.  در غیر این صورت فایروال اتصال کاربران از طریق این پروتکل را به صورت پیش فرض نمی دهد.

firewall-cmd --zone=public --permanent --add-port=21/tcp
firewall-cmd  --zone=public --permanent --add-service=ftp
firewall-cmd –reload

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

پارامترهای فایل پیکربندی:

سرویس vsftp نیز همانند اکثر سرویس های لینوکسی پارامتر های پیکربندی را از قایل پیکربندی آن و  درمسیر    /etc/vsftpd/vsftpd.conf مقدار دهی خواهد کرد. برخی از پارامتر های مورد استفاده در این سرویس به همراه توضیحی مختصر از آنها به شرح جدول زیر می باشد.

anonymous_enable مشخص کننده این است که آیا امکان اتصال به سرور به صورت ناشناس وجود دارد یا خیر در حالت پیش فرض مقدار این گزینه برابر با yes است که به این معنی می باشد که نام های کاربری anonymous و ftp امکان اتصال به سرور را دارا می باشند.
local_enable_enable امکان authentication را بر اساس نام های کاربری local فراهم می سازد. درواقع این گزینه امکان authentication کاربران را بر اساس فایل /etc/passwd فراهم میکند.
write_enable در صورت فعال بودن، اجازه استفاده از دستوراتی که منجر به نوشتن بر روی دیسک میشود را فراهم میکند. مانند put یا del
local_umask مشخص کننده umask پیش فرض فایل های ایجاد شده می باشد. مقدار پیش فرض022 می باشدکه برابر با ۷۵۵ در دستورchmod است.
dirmessage_enable هنگامی که کاربری به دایرکتوری ای جدید وارد میشود در صورت yes بودن این گزینه و موجود بودن فایل message_file پیغامیکه درون آن فایل قرار دازد در هنگام تغییر دایرکتوری به وی نمایش داده می شود.
message_file بیان گر نام فایلی است که قرار است پیغام آن به کاربر نمایش داده شود.
connect_from_port_20 استفاده از پورت 20 را به عنوان data channel فعال یا غیر فعال میکند. این گزینه با yes یا no مقدار دهی می شود.
ftp_data_port در صورتی که قصد داشته باشیم data channel بر روی پورتی غیر از پورت 20 فعالیت کند می بایست گزینه بالا را برابر با no قرار داده و از طریق ftp_data_port پورت مورد نظر را مشخص نمائیم.
xferlog_std_format در صورت no بودن، لاگ های اتصال کاربران در مسیر /var/log/vsftpd.log ثبت و ذخیره مشود.
listen این گزینه مشخص کننده این است که سرویس به صورت standalone فعالیت کند یا خیر. در صورتی که این گزینه no باشد سرویس تحت مدیریت xinetd فعالیت خواهد کرد در غیر این صورت به عنوان سرویسی خود تمام وظایف مانند listen کردن بر روی پورت ها را بر عهده میگیرد.
معمولا در صورتی این گزینه no قرار داده میشود که قرار باشد بر روی IPv4 و IPv6 به صورت همزمان فعالیت نمود. باید توجه داشت در صورتی که سرویس در حالت standalone قرار کرفته باشد، خط listen_ipv6 می بایست برابر با no قرار گیرد.
listen_ipv6 با فعال بودن این گزینه سرویس بر روی سوکت IPv6 فعالیت خواهد کرد.
pam_service_name بیانگر نامی است که مازول امنیتی pam برای این سرور مورد استفاده قرار خواهد داد. فایل کانفیگ سرویس ها در ماژول pam در مسیر /etc/pam/vsftp قرار میگیرد.
userlist_enable با yse ‌بودن این گزینه سرویس لیست کاربران را از فایلی که معمولا در مسیر /etc/vsftp.userlist قرار دارد میخواند. در صورتی که گزینه userlist_deny برابر با yes ‌باشد هیچکدام از کاربران درون لیست مذکور اجازه اتصال به سرور را نخواهند داشت. بر عکس در صورتی که این مقدار برابر با no باشد تنها کاربران داخل لیست امکان اتصال خواهند داشت.
tcp_wrappers این گزینه برای فعال یا غیر فعال کردن tcp wrappers است. هنگامی که کلاینتی قصد اتصال و استفاده از سرویسی را داشته باشد tcp wrapper به ترتیب به فایل های /etc/hosts.allow و /etc/hosts.deny نگاه میکند تا ببیند آیا لیستی از هاست های مجاز و غیر مجاز وجود دارد یا خیر و اگر وجود دارد کلاینت در کدام یک از این فایل ها وجود دارد.
به عنوان مثال میتوان کلاینت با آدرس ۱۹۲.۱۶۸.۲۰۰.۲۰۱و لوکال هاست را به صورت زیر جهت استفاده از vsftp مجاز و بقیه را غیر مجاز معرفی کرد.
Vsftp : 192.168.200.201,LOCAL
و با اقزودن خط زیر به /etc/hosts.deny بقیه کلاینت ها را غیر مجاز معرفی کرد.
Vsftp : ALL
ALL : ALL
chown_uploads با کمک این گزینه میتوان تعیین کرد که فایل هایی که کاربران ناشناس در سرور آپلود می نمایند دارای ownership به خصوصی باشند. این گزینه در کنار گزینه chown_username کاربرد دارد.
chown_username بیان گر نام کاربری است که فایل های آپلود شده به سرور تحت مالکیت آن خواهند بود.
idle_session_timeout بیانگر مدت زمانی است که سرور در انتظار فعالیتی از کلاینت می ماند. در صورتی کانکشنی بیش از مدت زمان تعیین شده بدون فعالیت باقی بماند آن کانکشن توسط سرور بسته خواهد شد.
userlist_file معرفی کننده مسیری است که فایل userlist در آن قرار گرفته است.
userlist_deny اگر برابر با yes ‌باشد ( مقدار پیش فرض) کاربران داخل این لیست مجاز به اتصال نخواهند بود. در صورت no ‌بودن تنها کاربران userlist امکان اتصال خواهند داشت.
chroot_local_user بیانگر این است که jail ‌برای کاربران فعال است و پس از ورود در home دایرکتوری خود محبوس میشوند. اما به صورت پیش فرض و به دلایل امینتی vsftp اازه نوشتن در مسیری که jail شده است را به کاربر نمی دهد. برای این که کاربر اجازه نوشتن در دایرکتوری ای که در آن jail شده است را داشته باشد باید گزینه زیر نیز فعال شود.
allow_writeable_chroot اجازه دادن به کاربر جهت نوشتن در روی دایرکتوری ای که در آن jail شده است.

 

نکته: در خصوص گزینه message_file باید توجه داشت که این فایل باید hidden  باشد و در دایرکتوری ای که قصد نمایش آن را به کاربر داریم وجود داشته باشد. به عنوان نمونه با قرار دادن مقدار این پارامتر به صورت زیر  و قرار دادن فایل warning در home  کاربر می بایست پیغام داخل این فایل در هنگام ورود  به کاربر نمایش داده شود.

message_file=.warning

mesage

در نهایت با توجه به این که در این آموزش قصد داریم تا امکان استفاده از ftp را برای کاربران local فراهم کنیم و هر کاربر نیز در home  خود  jail شود،  فایل config نهایی به صورت زیر خواهد بود.

conf.d

پس از ذخیره کردن تنظیمات، سرویس را مجددا راه اندازی میکنیم.

با توجه به این که ما در این آموزش از chroot استفاده کرده ایم نیاز است تا selinux  نیز در این خصوص پیکربندی شود. در غیر این صورت در هنگام وررود با پیغام زیر مواجه خواهید شد.

setsebool -P ftpd_full_access on

selinux error

تست عملکرد:

پس از انجام تنظیمات، اتصال از طرق ftp به سرور را تست و بررسی میکنیم.

test-service-funcionality

همانطور که مشاهده می شود، اتصال به سرور موفق بود. حال با توجه به این که tcp_wrapper  نیز در تنظیمات vsftp فعال شده بود، تست دیگر را با معرفی هاست و سرویس در فایل های /etc/hosts.allow و /etc/hosts.deny انجام می دهیم.

ابتدای به امر در فایل /etc/hosts.allow امکان استفاده از سرویس vsftpd را تنها برای Localhost فراهم کرده و سپس در /etc/hosts.deny سایر هاست ها را از استفاده از این سرویس منع میکنیم. محتویات فایل های اشاره شده به صورت زیر خواهد بود.

tcp-wrapper

ابتدا به صورت local  اتصال را بررسی می نمائیم. همانطور که در تصویر زیر مشاهده مینمائید این اتصال با موفقیت انجام شد.

tcp-wrapper-test-localhost

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

tcp-wrapper-test-client

توضیح نهایی این که تا این جای کار کاربران local امکان اتصال حواهند داشت، در صورتی  قصد داشته باشیم تا تعداد محدودی از کاربران مجاز به ورود و استفاده از سرویس باشند، می بایست  از userlist  استفاده کنیم و  تنها نام کاربری کاربران مجاز را در آن معرفی نماییم.

نتیجه گیری:

همانطور که اشاره شد، پروتکل های مختلفی برای به اشتراک گزاری فایل و انتقال فایل وجود دارد که FTP یکی از قدیمی ترین، ساده ترین آن ها است که گستردگی استفاده زیادی نیز دارد.

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

 

 

ادامه مطلب

آموزش نصب CentOS 7.2 Minimal

آموزش نصب CentOS 7.2 Minimal


CentOS یکی از پرکاربرد ترین و حرفه ای ترین توزیع یا distro سیستم عامل لینوکس می باشد.

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

CentOS از سری سیتم عامل های Redhat لینوکس بوده و بیشتر برای مصارف تجاری و به عنوان سرور طراحی شده است.

در این آموزش شما نصب CentOS 7.2 را به همراه تنظیمات اولیه یاد خواهید گرفت.

تمام چیزهایی که قبل از نصب CentOS نیاز دارید:

یک کامپیوتر با حداقل 256MB حافظه RAM

حداقل 7GB فضای خالی هارد

یک DVD خالی برای ریختن فایل ISO لینوکس سرور CentOS روی آن

شما می توانید این فایل را از سایت این توزیع محبوب به آدرس http://www.centos.org/ دریافت کنید.

نکته: این آموزش بر اساس CentOS 7.2 سرور بوده و IP ما 192.168.1.100 بوده و نام هاست ما یا hostname ما server1.example.com می باشد.شما با توجه به IP و نام هاست خود تنظیمات را انجام دهید.

نکته: زمان دانلود CentOS از سایت شما با دو عبارت Minimal و Everything مواجه می شوید، منظور از Minimal این است که جز کرنل اصلی، نرم افزار های کمی روی آن نصب هست و شما می توانید به انتخاب خود با YUM روی آن نرم افزار نصب کنید. در نسخه Everything خیلی از پکیج های عمومی، گرافیکی، برنامه نویسی و درایور های مختلف به صورت پیش فرض نصب می شوند. برای شروع می توانید از Everything استفاده کنید اما حالت حرفه ای تر استفاده از نسخه Minimal می باشد.

شروع نصب Linux CentOS 7.2 Minimal:

از روی دی وی دی CentOS کامپیوتر خود را بوت کرده و سپس گزینه Install CentOS 7 را انتخاب کنید.

install centos7

و بعد ENTER بزنید.

install centos7 1

زبان نصب را انتخاب کنید. ما در اینجا زبان را روی English با English United States قرار داده و روی Continue کلیک می کنیم

install centos7 2

بعد از آن ما با این صفحه مواجه می شویم:

install centos7 3

برای تنظیمات از گزینه LOCALIZATION و بخش DATE & TIME شروع می کنیم.روی این قسمت کلیک کرده و timezone خود را انتخاب نمایید، در این قسمت ما Region را آسیا و شهر را تهران انتخاب می کنیم.بعد از آن روی Done کلیک کنید.

install centos7 4

بعد از آن روی قسمت KEYBOARD کلیک می کنیم تا وارد تنظیمات کیبورد شویم.

install centos7 5

برای اضافه کردن کیبورد Persian روی علامت + کلیک کنید.

install centos7 6

در این قسمت لیست کامل کیبرد های موجود وجود دارد، ما می توانیم Persian یا German رو هم به کیبورد خود اضافه کنیم و کافیه روی گزینه Add کلیک کنیم.

install centos7 7

سپس، برای تنظیمات LAYOUT SWITCHING OPTIONS روی گزینه Options کلیک می کنیم.

install centos7 8

شما می توانید از هر ترکیبی از دکمه ها برای تغییر زبان کیبرد استفاده کنید، در این مثال ما Alt_Ctrl رو برای این کار انتخاب کردیم. بعد از این انتخاب روی گزینه Done کلیک کنید.

install centos7 9

بعد بر روی Done کلیک نمایید.

install centos7 10

اگر نمی خواهید از زبان انگلیسی استفاده کنید می توانید LANGUAGE SUPPORT را اضافه کنید.

install centos7 11

به صورت پیشفرض CentOS با زبان انگلیسی نصب می شود، ولی شما می توانید زبان های متعددی به سادگی به آن اضافه کنید. در این مورد، ما زبان آلمانی و دانمارکی و فارسی را به آن اضافه کردم. روی Done کلیک نمایید.

install centos7 12

سپس، به قسمت SOFTWARE و INSTALLATION SOFTWARE رفته و حالت یا media نصب را انتخاب می کنیم.

install centos7 13

سپس، شما می بینید که منبع نصب روی Auto-detected installation media قرار دارد، اگر شما از منبع دیگری مثل شبکه برای نصب استفاده می کنید باید مسیر را روی On the network تنظیم کنید(در قسمت Proxy Setup می توانید بی/با proxy از روی شبکه CentOS را نصب کنید).

علاوه بر این، ما می توانیم با اضافه کردن گزینه Additional repositories منابع بیشتری به منابع موجود اضافه کنیم.

سپس بر روی Done کلیک کنید.

install centos7 14

بعد ما روی SOFTWARE SELECTION می زنیم، به صورت پیش فرض روی Minimal Install تنظیم شده است.

install centos7 15

شما می توانید در صورت نیاز پکیج های نرم افزاری بیشتری اضافه کنید(اگر شما از DVD نصب استفاده می کنید). در این مورد ما فقط به Minimal Install (Basic Functionality) نیاز داریم و بقیه نرم افزار ها رو بعدا با yum نصب می کنیم، پس ما تنظیمات را با زدن دکمه Done ذخیره می کنیم.

install centos7 16

INSTALLATION DESTINATION را انتخاب می کنیم.

install centos7 17

وقتی شما می خواهید به صورت غیر اتوماتیک پارتیشن بندی کنید باید I will configure partitioning را انتخاب کنید.در این آموزش ما Automatically configure partitioning را انتخاب می کنیم و بر روی Done می زنیم.

install centos7 18

سپس، با انتخاب قسمت های NETWORK و HOSTNAME آن ها را تنظیم می کنیم.

install centos7 19

ما از نام هاست server1.example.com استفاده می کنیم و برای تنظیمات اترنت (ethernet) روی Configure کلیک می کنیم.

install centos7 20

صفحه بعدی شبیه تصویر زیر است، حالا ما IPv4 رو با کلیک روی IPv4 Settings تنظیم می کنیم.اگر شما IPv6 دارید باید روی IPv6 Settings کلیک کنید.

install centos7 21

سپس، شما می توانید شبکه خود را کانفیگ کنید، در این آموزش ما از IP ثابت استفاده می کنیم، پس روی Manual کلیک می کنیم.

install centos7 22

ورودی آدرس را اضافه کنید، Netmask و Gateway به ازای IP شما تنظیم می گردد. در این آموزش ما از آدرس 192.168.1.100 و Netmask معادل 255.255.255.0 و Gateway معادل 192.168.1.1 و DNS servers برابر 8.8.8.8 و 8.8.4.4 استفاده می کنیم.احتمالا مقادیر شما هم باید ه مقادیر ما نزدیک باشند.بعد از ورود این اطلاعات روی Save کلیک کنید.

نکته: اگر شما دسترسی اینترنت IPv6 ندارید، حتما Ipv6 را از auto به ignore در قسمت Ipv6 تغییر دهید، در غیر اینصورت شما نمی توانید از طریق Ipv4 در CentOS به اینترنت دسترسی داشته باشید.

install centos7 23

سپس، ما این اتصال را شبیه تصویر زیر روشن یا ON می کنیم و روی Done کلیک می کنیم.

install centos7 24

حالا ما آماده ایم که نصب را آغاز کنیم، شما می توانید تمام تنظیمات را چک کرده و روی Begin Installation کلیک کنید.

install centos7 25

پروسه ی نصب حالا آغاز می شود و شما در صفحه بعد یک خط آبی باریک می بینید.حالا ما باید پسورد روت (Root) را تنظیم کنیم و بعد از قسمت USER CREATION یک کاربر غیر از root بسازیم . ما ابتدا پسورد root را تغییر می دهیم.

install centos7 26

یک کلمه عبور یا پسورد مطمئن برای کاربر root انتخاب می کنیم و سپس روی Done کلیک می کنیم.

install centos7 27

بعد میریم برای ساخت یک کاربر جدید از قسمت USER CREATION

install centos7 28

بعد می خواهیم کاربر جدیدی بسازیم، ما از نام کامل Administrator و نام کاربری administrator استفاده می کنیم.

تیگ گزینه Require the password to use this account را هم می زنیم و روی Done کلیک می کنیم. البته شما می توانید هر طور دوست دارید سیستم خود را کانفیگ کنید.

install centos7 29

روی Finish کلیک کنید و صبور باشید تا مراحل نصب تمام شود.

install centos7 30

پس از کامل شدن نصب از شما می خواهد سیستم را ریستارت کنید، روی گزینه Finish Configuration کلیک نمایید.

install centos7 31

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

install centos7 32

حالا ما می توانیم با کاربری که ساختیم یا کاربر root وارد سیستم شویم.

اولین ورود ما روی CentOS

به دلیل این که می خواهیم آخرین تنظیمات را هم انجام دهیم با کاربر root وارد سیستم شوید.

به عنوان اولین کار تمام آپدیت های موجود را از طریق yum نصب می کنیم. yum update

اگر سوال پرسید می توانیم با y تایید کنیم.

برای این که راحت تر بتوانیم فایل های تنظیمات را ادیت کنیم دو ادیتور command line را به وسیله کامند yum install nano vim نصب می کنیم.

تنظیمات شبکه

سیستم عامل CentOS 7.2 Minimal هیچ برنامه از پیش نصب شده ای برای مدیریت شبکه ندارد پس ما از طریق دستور yum install net-tools پکیج های لازم را نصب می کنیم.

اگر شما می خواهید تنظیمات شبکه را تغییر دهید فقط فایل زیر را ادیت کنید:

nano /etc/sysconfig/network-scripts/ifcfg-ens33

وقتی با IP ثابت تنظیمات اولیه را انجام داده باشید خروجی دستور بالا به صورت زیر می باشد:

خروجی

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens33"
UUID="eb1ba0ce-af9f-4953-a6a7-3d05a15c8d4f"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.1.100"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="192.168.1.1"
DNS2="8.8.8.8"
DNS3="8.8.4.4"

و اگر از DHCP استفاده کنید خروجی به صورت زیر می باشد:

خروجی

TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens33"
UUID="eb1ba0ce-af9f-4953-a6a7-3d05a15c8d4f"
DEVICE="ens33"
ONBOOT="yes"
HWADDR="00:50:56:15:23:79"
PEERDNS="yes"
PEERROUTES="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"

و می توانید هر مقداری را تغییر دهید.

نکته: نام DEVICE بالا می تواند مختلف باشد، بنابراین فایل معادل این فایل در پوشه /etc/sysconfig/network-scripts را چک کنید.

تنظیم /etc/hosts

فایل /etc/hosts را مانند زیر تنظیم کنید:

nano /etc/hosts

مقادیر را مانند زیر تغییر دهید:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100   server1.example.com     server1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

تبریک! حالا ما یک CentOS 7.2 Minimal با تنظیمات اولیه داریم که می تونیم بقیه آموزش ها رو به سادگی روی آن ادامه بدیم.

ادامه مطلب

نحوه نصب و ایمن‌سازی LDAP در لینوکس

نحوه نصب و ایمن‌سازی LDAP در لینوکس

در شبکه‌های رایانه‌ای، «دایرکتوری سرویس» زیرساخت به اشتراک‌گذاری منابع را مهیا نموده و به شما اجازه می‌دهد به صورت متمرکز منابع و المان‌های شبکه خود را مدیریت نمایید.


«دایرکتوری سرویس» اطلاعات مهمی را طبق استاندارد X.500 در خود نگهداری می‌کند. این اطلاعات می‌تواند شامل اطلاعات مربوط به کاربران و رمز عبور آن‌ها باشد. همچنین اطلاعات پرسنلی افراد سازمان، می‌تواند قسمت دیگری از این نوع اطلاعات باشد که حفظ محرمانگی و امنیت آن‌ها ضروری است. LDAP یا Lightweight Directory Access Protocol پروتکلی است که می‌توان با آن با دایرکتوری سرور ارتباط برقرار کرد و آن را مدیریت نمود. یکی از جنبه‌های مهم برقراری امنیت در دایرکتوری سرویس، برقراری یک ارتباط امن بین کلاینت و سرور دایرکتوری سرویس (LDAP Server) است. پروتکل LDAP به طور پیش فرض اطلاعات را بر روی بستر شبکه به صورت Clear Text ارسال می‌کند که ارسال اطلاعات به این روش دارای مزایایی از جمله موارد ذیل است:

  • پیکربندی و مدیریت آسان
  • سرعت بالاتر در سرویس دهی

اما این مزایا باعث می‌شود تا شما امنیت سیستم خود را از دست بدهید. بنابراین در بستر شبکه به‌ ویژه شبکه‌های بزرگ، نیاز است اطلاعات، رمزنگاری شود.

OpenLDAP یک نرم افزار متن باز است که سیستم «دایرکتوری سرویس» و پروتکل LDAP را به صورت مستقل از بستر پیاده سازی می‌کند و اکثر نسخه‌های لینوکس از آن پشتیبانی می‌نماید. OpenLDAP به دو روش، ترافیک ارسالی در شبکه را رمزنگاری می‌نماید.

در اولین روش OpenLDAP بر روی یک پورت خاص (پورت 636، LDAPS) به طور پیش‌فرض سرویس می‌دهد و اطلاعات ارسالی بر روی این پورت به صورت خودکار رمزنگاری می‌شوند. این روش به عنوان یک قابلیت جدید در نسخه دوم LDAP ارایه شد، اما امروزه چندان رایج نیست.

در روش دوم که در نسخه سوم LDAP ارایه شد، به کلاینت‌ها اجازه داده می‌شود که بر روی پورت استاندارد سرور (پورت 389) ارتباط برقرار کنند و نیز به آن‌ها اجازه داده می‌شود که ارتباط‌شان با سرور از حالت Clear Text به حالت رمزنگاری شده تبدیل شود.

رمزنگاری از طریق LDAPS:

در بستر شبکه، کلاینت و سرور LDAP می‌توانند با کمک SSL/TLS اطلاعات ارسالی و دریافتی را رمزنگاری کنند. به این صورت که سرور،
Certificate خود را به کلاینت ارسال می‌کند. ضمن آنکه یک سری اطلاعات از جمله Public Key در آن قرار گرفته است. Public Key پیام را رمزنگاری می‌کند اما رمزگشایی نمی‌کند و کلید دوم که Private Key نام دارد، جهت رمزگشایی استفاده می‌شود. مجوز خواندن Private Key تنها برای سرور تعریف شده است و تحت هر شرایطی آن را تنها نزد خود حفظ می‌کند. کلاینت، پیام رمزنگاری شده به کمک سرور را برای آن ارسال و سرور جهت پاسخ‌گویی به درخواست، پیام رمزنگاری شده را رمزگشایی می‌کند.

رمزنگاری از طریق StartTLS:

در حالت پشتیبانی LDAP Server از StartTLS، اگر کلاینت در برقراری ارتباط با سرور، دستور StartTLS را اجرا کند، آنگاه سرور شروع به رمزنگاری اطلاعات با TLS نموده و تمامی اطلاعات ارسالی و دریافتی میان سرور و کلاینت رمزنگاری شده و به طور امن انتقال داده می‌شوند.

یکی از مزیت‌های آشکار StartTLS این است که سرور برای LDAP تنها بر روی یک پورت سرویس می‌دهد. این امر به کلاینت‌ها و سرور اجازه می‌دهد تا اطلاعاتی را که از اهمیت کم‌تری برخوردارند، به صورت Clear Text ارسال نماید و در مقابل اطلاعات با اهمیت بالاتر را با کمک TLS رمزنگاری کند. با این روش اطلاعات غیرضروری رمزنگاری نشده و منابع سیستم بی‌مورد جهت رمزنگاری، استفاده نمی‌شود. در نتیجه کارایی سیستم افزایش پیدا خواهد کرد.

در ادامه مراحل نصب و ایمن سازی LDAP از طریق SSL/TLS بر روی یک بستره مبتنی بر Redhat آورده شده است.

گام اول: نصب سرور و کلاینت Openldap

# yum install openldap-servers openldap-clients
# cd /etc/openldap/
# cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG

گام دوم: پیکربندی سرور ldap server) SLAP)

# vim slapd.conf
suffix "dc=lpi,dc=org"
rootdn "cn=Manager,dc=lpi,dc=org"
rootpw secret

گام سوم: ایجاد مجوز SSL سرور

# cd /etc/pki/tls/certs
# make server.key
umask 77 ; \
/usr/bin/openssl genrsa -des3 1024 > server.key

Generating RSA private key, 1024 bit long modulus
......................................................++++++
.............++++++
e is 61251 (0x10001)
Enter pass phrase: # set passphrase
Verifying - Enter pass phrase: # verify

گام چهارم: حذف گذرواژه (passphrase) از کلید اختصاصی

# openssl rsa -in server.key -out server.key

گام پنجم: ایجاد درخواست ثبت پروانه

# make server.csr

گام ششم: ثبت درخواست مجوز ثبت شده

# openssl x509 -in server.csr -out server.crt
-req -signkey server.key -days 3650

گام هفتم: محدود نمودن دسترسی به فایل‌ها

# chmod 400 server.*

گام هشتم: پیکربندی سرور LDAP

# cp /etc/pki/tls/certs/server.* /etc/openldap/cacerts/
# chown ldap. /etc/openldap/cacerts/*
# vi /etc/openldap/slapd.conf

دو خط زیر را در فایل، ذخیره کنید:

TLSCertificateFile /etc/openldap/cacerts/server.crt
TLSCertificateKeyFile /etc/openldap/cacerts/server.key

گام نهم: برای اعمال تغییرات سرور LDAP را راه‌اندازی مجدد کنید

# /etc/rc.d/init.d/ldap restart

گام دهم: برای دسترسی به دامنه در سرور محلی، در فایل etc/hosts/، خط زیر را اضافه کنید

127.0.0.1 ldap.lpi.org

گام یازدهم: پیکربندی فایل کلاینت (etc/openldap/ldap.conf/)

Base dc=lpi, dc=org
URI ldap://ldap.lpi.org
TLS_CACERT /etc/openldap/cacerts/server.crt

گام دوازدهم: اکنون زمان آزمون فرایند طی شده از طریق STARTTLS است

# ldapsearch -x -D "cn=Manager,dc=lpi,dc=org" -W -ZZ

گام سیزدهم: آزمون فرایند طی شده از طریق LDAPS ( پورت 636)

# ldapsearch -x -D "cn=Manager,dc=lpi,dc=org" -W -H ldaps://ldap.lpi.org

گام چهاردهم: پایش فعالیت‌ها و پورت‌های فعال

# netstat –antp | grep slapd

گام پانزدهم: بررسی ترافیک معمولی شبکه و نمایش رمزهای کاربران

# tcpdump port ldap -i lo -X -s 1024

و اگر ارتباط، رمزشده باشد، دیگر رمزی نمایش داده نمی‌شود.

# tcpdump port ldap -i lo -X -s 1024

منبع: salam-donya

ادامه مطلب

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

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

سلام وعرض ادب امروز برای شما آموزش نصب Ubuntu کنار ویندوز قرار میدم یعنی دوسیستم عامل کنار هم برای نصب Ubuntu کنار ویندوز ابتدا cd بوت Ubuntu را درون سیستم قرار می دهیم و سپس تنظیمات BIOS را برای BOOT  بر روی CD قرار می دهیم

 

دانلود Ubuntu 17.04 Final + 16.04.2 LTS

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

 

سپس تنظیمات را save می کنیم که سیستم Restart می شود و سپس وارد مرحله نصب Ubuntu می شویم

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

 

ر این قسمت می توانیم با انتخاب گزینه TryUbuntu به صورت LIVE سیستم را راه اندازی کنیم

اما برای نصب باید گزینه Install Ubuntu  را بزنیم

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

در این قسمت اگر گزینه Download Updates while installing ubuntu را بزنید همراه با نصب، آخرین اپدیت های Ubuntu  را هم نصب می کند اما زمان بر است و می توان در صورت نبود اینترنت یا کم بودن سرعت انترنت بعدا هم این کار را انجام داد.

اما اگر گزینه دو را انتخاب کنید همراه با نصب Ubuntu کدک های پخش موزیک و ویدیو نیز دانلود و نصب می شوند  .با این که کدک ها حجم بالایی ندارند ولی باز این کار سرعت نصب را کم می کند ولی اگر اینترنت پر سرعت دارید این گزینه رو تیک بزنید ,  ولی بعدا به صورت دستی نیز می توانید کدک ها  رو نصب کنید.

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

 

در این قسمت گزینه اول را انتخاب می کنیم که کنار ویندوز مان نصب شود. البته می توان با زدن گزینه Something Else می توانیم به صورت دستی میزان هر دایرکتوری را مشخص کنیم اما با انتخاب این گزینه باید دقت کنید که به پارتیشنی که ویندوز روی آن نصب است تغییر انجام ندهید چون ممکن است ویندوز شما دچار مشکل شود و دیگر بالا نیاید اگه تازه کار هستین بهتر است که گزینه اول را انتخاب کنید

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

 

در این قسمت اگر چنت هارد روی سیستم باشد می توانید یکی از انهارا انتخاب کنید

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

در قسمت یعد Location را مشخص می کنیم

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

در قسمت آخر یوزر و پسورد برای سیستم ایجاد می کنیم تا سیستم شروع به نصب کند

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

 

با دیدن این پیغام کار تمام است  و بعد از Restart می توانید وارد سیستم Linux یا ویندوزتان شوید

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

 

 

 

 

 

 

 

 

 

ادامه مطلب

اموزش نصب تلگرام در اوبونتو

اموزش نصب تلگرام در اوبونتو

سلام وعرض ادب شما حتما با تلگرام زیاد کار کرده اید و میدانید یک پیام رسان قدرتمند هست و پر کاربرد . پیام رسان تلگرام علاوه بر نسخه‌های اندروید، آی او اس و … نسخه لینوکس خود را نیز منتشر کرده است که از راه‌های زیر قابل نصب هست.

روش اول: نصب از طریق ترمینال

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

sudo add-apt-repository ppa:atareao/telegram
sudo apt-get update
sudo apt-get install telegram

 

روش دوم: دانلود فایل نصبی از سایت تلگرام

فایل نصبی تلگرام را از سایت تلگرام دانلود کنید.

سپس فایل را حالت فشرده خارج کنید و فایل telegram را اجرا کنید.

 

اموزش نصب تلگرام در اوبونتو

ادامه مطلب

آموزش ریست کردن پسورد Root در Debian

آموزش ریست کردن پسورد Root در Debian

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

 

ابتدا وارد محیط GRUB یا همان Boot Loader لینوکس می شویم (برای وارد شدن به این محیط کافیست لحظه بوت شدن سیستم عامل دکمه Shift را نگهدارید)

آموزش ریست کردن پسورد Root در Debian

 

 

سپس برای وارد شدن به Edit Mode دکمه e را وارد کرده و با استفاده از Arrow key ها به سمت پایین حرکت کرده و در انتهای خط Kernel که همانطور که در تصویر می بینید با /boot/vmlinuz/ شروع می شود قرار گرفته و پس از زدن دکمه Space خط زیر را به آن اضافه می کنیم و Enter را می زنیم:

init=/bin/bash

 

آموزش ریست کردن پسورد Root در Debian

 

سپس دکمه  ctrl+x را وارد کرده تا سیستم reboot شود و یک خط فرمان در اختیار ما قرار می دهد.

 

آموزش ریست کردن پسورد Root در Debian

سپس دستورات زیر را به همین ترتیبی که در زیر آمده است وارد می کنیم، پس از وارد کردن دستور passwd باید پسورد جدید خود را وارد نمایید و در نهایت هم با اجرای دستور reboot سیستم را ریستارت می کنید:

# mount -o remount,rw /
# passwd
# sync
# reboot

آموزش ریست کردن پسورد Root در Debian

 

 

 

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

ادامه مطلب

دستورات پر کاربرد لینوکس برای کار با رزبری پای

دستورات پر کاربرد لینوکس برای کار با رزبری پای

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

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

اطلاعات سیستم

  • date – تاریخ و ساعت جاری را نمایش می‌دهد.
  • cal – تقویم ماه‌ها را نمایش می‌دهد.
  • uptime –  زمان روشن بودن سیستم و کاربران فعال را نشان می‌دهد.
  • – کاربران جاری که از سیستم استفاده می‌کنند را همراه با توضیحاتی درباره استفاده آن‌ها نشان می‌دهد. دستور شامل اطلاعات خروجی دستور ‌uptime نیز هست.
  • whoami – کاربر جاری که شما اکنون از طریق آن با سیستم کار می‌کنید را نمایش می‌دهد.
  • finger user – اطلاعاتی درباره کاربری user (به جای آن نام‌کاربری مورد نظر را بنویسید) در اختیار شما می‌گذارد.
  • uname – نام سیستم یونیکس شما که همان لینوکس است را نمایش می‌دهد.
  • uname -a – دستور uname همراه با سویچ a اطلاعات تکمیلی از سیستم‌عامل شما شامل نسخه کرنل لینوکس را نمایش می‌دهد.
  • cat /proc/cpuinfo – نمایش اطلاعات پردازنده (CPU).
  • cat /proc/meminfo – نمایش اطلاعات حافظه اصلی (RAM).
  • df – مقدار استفاده از دیسک‌های حافظه را نمایش می‌دهد.
  • du – مقدار فضای استفاده شده تمامی دایرکتوری ها
  • free – نمایش فضاهای خالی و استفاده شده حافظه رم و سواپ (swap)

 

دستورات فایل

  • ls – گرفتن لیست محتویات مسیر جاری شامل پوشه و فایل ها.
  • ls -l – دستور ‌ls همراه با سویچ l لیست محتویات مسیر جاری را با اطلاعات کامل نمایش می‌دهد.
  • ls -laC – مانند دستور ls -l است اما اطلاعات را به صورت ستونی نشان می‌دهد.
  • ls -F – سویچ f در دستور ls لیست محتویات را همراه با فرمت فایل‌ها نمایش می‌دهد.
  • ls -al – سویچ a در دستور ls لیست فایل‌ها را همراه با فایل‌های مخفی نشان می‌دهد. (فایل و پوشه مخفی در لینوکس یک نقطه قبل نام خود دارند)
  • cd dir – تغییر مسیر جاری به شاخه مورد نظر (بجای dir پوشه مورد نظر را وارد کنید)
  • cd – مسیر جاری را به مسیر اصلی (home) بر می‌گرداند. (مسیر اصلی برای هر کاربر متفاوت است که پوشه‌های شخصی و تنظیمات در آن‌جا قرار می‌گیرند).
  • mkdir dir – ساخت یک شاخه (به جای dir نام پوشه که می‌خواهید بسازید را بنویسید).
  • pwd – مسیر جاری را نشان می‌دهد.
  • rm name – حذف (پاک کردن) فایل یا دایرکتوری مورد نظر (به جای name نام فایل یا پوشه نوشته می‌شود).
  • rm -r dir – حذف یک دایرکتوری با محتویات درون آن (به جای dir نام پوشه را بنویسید).
  • rm -f file – اجبار کردن به حذف یک فایل برای مواقعی که فایل به دلایلی حذف نمی‌شود (نام فایل بجای file نوشته می‌شود).
  • rm -rf dir – اجبار کردن به حذف یک دایرکتوری برای مواقعی که آن به دلایلی حذف نمی‌شود (نام پوشه بجای dir نوشته می‌شود).
  • cp file1 file2 – کپی کردن فایل در مسیر دیگر (file1 نام و مسیر فایل مبدا و file2 نام و مسیر فایل مقصد است).
  • cp -r dir1 dir2 – کپی کردن پوشه در مسیر دیگر (dir1 نام و مسیر پوشه مبدا و dir2 نام و مسیر پوشه مقصد است).
  • cp file dir – کپی کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).
  • mv file dir – جابجایی (مانند cut) کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).
  • mv file1 file2 – جابجایی کردن فایل به مسیر دیگر (file1 نام و مسیر فایل و file2 نام و مسیر فایل در مقصد است).
  • ln -s file link – ساخت لینک سیمبولیک از فایل در مسیر مورد نظر (file نام و مسیر فایل یا پوشه و link نام و مسیر لینک است).
  • touch file – ساخت یک فایل.
  • cat > file – نوشتن متن در فایل.
  • cat file – نمایش محتویات یک فایل یا فراخوانی آن.
  • more file – نمایش محتویات فایل به صورت کم کم (برای فایل با محتویات زیاد).
  • command | more – نمایش خروجی دستور به صورت کم کم.
  • less file – نمایش محتویات فایل به صورت صفحه به صفحه (برای فایل با محتویات زیاد).
  • command | less – نمایش خروجی دستور به صورت صفحه به صفحه.
  • head file – نمایش ۱۰ خط اول محتویات یک فایل
  • head -20 file – نمایش ۲۰ خط اول محتویات یک فایل
  • tail file – نمایش ۱۰ خط آخر محتویات یک فایل
  • tail -20 file – نمایش ۲۰ خط آخر محتویات یک فایل

 

پروانه فایل

  • chmod octal file – تغییر مجوز یک فایل با استفاده از کد دسترسی
    • مجوز یک فایل سطح دسترسی یک فایل را مشخص می‌کند. سطح دسترسی می‌تواند خواندنی (عدد ۴)، نوشتنی (عدد ۲) و اجرا (عدد ۱) باشد که سطح دسترسی یک فایل با جمع کردن این اعداد بدست می‌آید. یعنی سطح دسترسی ۷ تمامی مواد را شامل می‌شود.
    • هر فایل دسترسی آن برای سه دسته کاربری روت، گروه و عمومی تعریف می‌شود که از روش عددی بالا استفاده می‌کند و این سه عدد کنار هم سطح دسترسی یک فایل را مشخص می‌کنند. مثال‌های زیر را مشاهده کنید.
  • chmod 777 file – مجوز خواندن، نوشتن و اجرا فایل را به سه دسته روت، گروه و عمومی می‌دهد.
  • chmod 755 file – مجوز خواندن، نوشتن و اجرا برای کاربری روت و مجوزهای خواندن و اجرا برای کاربران گروه و عمومی.

 

فشرده سازی

به صورت پیش‌فرض لینوکس از فشرده‌سازی با فرمت tar استفاده می‌کند که دستورات کار با آن را نیز پشتیبانی می‌کند. لینوکس از فشرده‌ساز Gzip برای کار با فایل‌های فشرده با فرمت tar.gz و gz فشرده‌ساز Bzip2 برای کار با فایل‌های فشرده با فرمت tar.bz2 استفاده می‌کند.

  • tar cf file.tar files – Create a tar named file.tar containing files
  • tar xf file.tar – استخراج محتویات فایل فشرده.
  • tar czf file.tar.gz files – ساخت فایل فشرده با فرمت ‌tar.gz از فایل‌ها توسط فشرده‌ساز Gzip.
  • tar xzf file.tar.gz – استخراج محتویات فایل فشرده با فرمت tar.gz توسط فشرده‌ساز Gzip.
  • tar czf file.gz files – ساخت فایل فشرده با فرمت ‌gz از فایل‌ها توسط فشرده‌ساز Gzip.
  • tar xzf file.gz – استخراج محتویات فایل فشرده با فرمت gz توسط فشرده‌ساز Gzip.
  • tar cjf file.tar.bz2 – ساخت فایل فشرده با فرمت ‌tar.bz2 از فایل‌ها توسط فشرده‌ساز.
  • tar xjf file.tar.bz2 – استخراج محتویات فایل فشرده با فرمت tar.bz2 توسط فشرده‌ساز Bzip2.

 

جستجو

  • grep pattern files – جستجوی عبارت در فایل مورد نظر.
  • grep pattern dir – جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر.
  • grep -r pattern dir – جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر به صورت بازگشتی.
  • command | grep pattern – جستجوی عبارت در خروجی دستور.
  • locate file – یافتن فایل مورد نظر ما در مسیر جاری.
  • find ‌dir -name filename – یافتن فایل مورد نظر ما در شاخه مورد نظر.
  • find ”*filename*” – جستجوی تمامی فایل‌هایی که نام آن‌ها شامل نام فایل مورد نظر ما است (در مسیر جاری).
  • updatedb – ساختن یا به‌روز رسانی دیتابیس فایل‌های سیستمی شاخه روت لینوکس.
  • locate filename – جستجوی فایل با ‌‌locate. فرض شده است که قبلا از دستور updatedb استفاده کرده‌اید.
  • which filename – نمایش شاخه بالایی فایل مورد نظر (پوشه‌ای که فایل ما در آن قرار دارد).

شبکه

  • ifconfig – نمایش لیست آی پی تمامی دستگاه‌های متصل (وایرلس، کارت شبکه، شبکه‌های وی‌پی‌ان  و …).
  • ping host – گرفتن پینگ از هاست مورن نظر.
  • whois domain – گرفتن اطلاعات دامنه (مالک دامنه، آی‌پی، دی‌ان‌اس سرور و …).
  • dig domain – دریافت اطلاعات DNS دامنه.
  • dig -x host – مشاهده میزبان به صورت معکوس.
  • wget file – دانلود یک فایل از اینترنت.
  • wget -c file – ادامه دانلود کردن یک دانلود متوقف شده.

دستور DiG :

دستور DiG جايگزيني براي nslookup در سيستم هاي يونيكسي ، لينوكسي و همچنين مكينتاش مي باشد. تفاوت اين دستور با nslookup در اين است فاقد interactive mode است.  درست مانندnslookup دستور dig  مي تواند فرم ساده اي از يافتن dns شبكه را نمايش دهد و همچنين توسط خروجي اين دستور قادر به رفع مشكلات مربوط به DNS خواهيم بود. در زير نمونه اي از خروجي اين دستور آمده است :

DiG 8.2 xyz.com;
 res options: init recurs defnam dnsrch
 got answer:
 ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
 flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
 QUERY SECTION:
 xyz.com, type = A, class = IN ANSWER SECTION:
xyz.com.        ۷h33m IN A    ۶۳٫۲۴۰٫۹۳٫۱۵۷

 

 AUTHORITY SECTION:
xyz.com.        ۷h33m IN NS    usrxdns1.ABC.com.
xyz.com.        ۷h33m IN NS    oldtxdns2.ABC.com.

Total query time: 78 msec
FROM: localhost.localdomain to SERVER: default — 209.53.4.130
 WHEN: Sat Oct 16 20:21:24 2004
 MSG SIZE  sent: 30  rcvd: 103

همانطور كه مشاهده مي كنيد خروجي اين دستور به سه قسمت Answer Section,Authority Section, و چهار خط پاياني تقسيم شده است. قسمت پاسخ يا answer section نام دامنه و آدرس شبكه آن را نمايش مي دهد. A در اين قسمت نشاندهنده نوع ركوردي است كه نمايش داده شده است. قسمت اعتبار يا authority section نشاندهند سرورهاي DNSاي است كه در عمل resolution بر پايه آن ها انجام شده است و اين اطلاعات به ما نشان مي دهد آيا DNS هاي مجاز نشانگر دامنه ما هستند يا خير. چهارخط پاياني اين خروجي نشان مي دهد كه چقدر طول كشيده تا عمل resolve شدن دامنه انجام گيرد همچنين آدرس DNSپايه را كه در عمل resolution مورد استفاده قرار گرفته است را نشان مي دهد. ساعت و تاريخ و همچنين اندازه پاكت هاي دريافتي و ارسالي نيز در اين قسمت نمايش داده شده اند.

 

دستور Ifconfig

در سيستم هاي يونيكس ، لينوكس و مكينتاش از دستور ifconfig به جاي ipconfig بايد استفاده كنيد. براي اينكه صفحه help مربوط به اين دستور را نگاه كنيد بايد از دستور ifconfig –helpاستفاده كنيد. خروجي زير پس از استفاده تنها از دستور ifconfig حاصل شده است.

eth0      Link encap:Ethernet  HWaddr 00:60:08:17:63:A0
inet addr:192.168.1.101  Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING  MTU:1500  Metric:1
RX packets:911 errors:0 dropped:0 overruns:0 frame:0
TX packets:804 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xe400

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
UP LOOPBACK RUNNING  MTU:3924  Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

دستور ifconfig آدرس IP  ، subnet mask و default gateway را براي كارت شبكه هاي محلي و loopback نشان مي دهد اما اطلاعات مربوط به وضعيت dhcp را نمايش نمي دهد. براي اين منظور بايد از دستور ديگري به شكل “pump s” استفاده كنيد. Pump همچنين قادر است IP آدرس شبكه اي را كه با DHCP و DNS  تنظيم شده است release و renew نمايد.

 

SSH

پروتکل SSH برای ارتباط و کنترل با سیستم از راه دور استفاده می‌شود که پیش‌فرض از پورت SSH با شماره ۲۱ استفاده می‌کند. بیشتر برای کنترل سرور توسط کاربری از راه دور استفاده می‌شود.

  • ssh user@host – اتصال به میزبان مورد نظر با نام کاربری مورد نظر (بعد از آن پسورد آن نام کاربری از شما پرسیده می‌شود).
  • ssh -p port user@host – اتصال به میزبان با نام کاربری توسط شماره پورت مشخص
  • ssh-copy-id user@host – اضافه کردن کلید برای اتصال کاربر از این سیستم راه دور. (برای مواقعی که نمی‌خواهیم پسورد را در هر اتصال وارد کنیم. ارسال پسورد اصلی امنیت میزبان را به خطر می‌اندازد اما کلید ساخته شده فقط برای سیستم جاری و نام کاربری مورد نظر اعتبار دارد).

 

مدیریت کاربران

  • adduser accountname – ساخت یک کاربر جدید در سیستم لینوکس خود.
  • passwd accountname – تغییر گذرواژه (password) کاربر مورد نظر.
  • su – ورود به خط فرمان با کاربری روت (کاربر روت مجوز دسترسی به تمامی فایل‌ها و تنظیمات سیستم را دارد).
  • exit – خروج از خط فرمان با کاربر جاری.

 

شروع و پایان

  • shutdown -h now – خاموش کردن سیستم.
  • halt – توقف تمام پردازش‌ها (مانند خاموش کردن سیستم است).
  • shutdown -r 5 – راه‌اندازی مجدد (ریست کردن) سیستم در مدت ۵ دقیقه بعد.
  • shutdown -r now – ریست کردن سیستم لینوکس.
  • reboot – راه‌اندازی مجدد سیستم لینوکس (مانند دستور بالا است).

 

نصب برنامه ها

  • به صورت عادی اگر سورس برنامه در اختیار ما باشد به شاخه سورس رفته و دستورات زیر را برای نصب اعمال می‌کنیم.
    • ./configure
    • make
    • make install
  • اگر از توزیع‌های خاص لینوکس استفاده می‌کنید از دستورات زیر (یا دستورات خاص آن توزیع) برای نصب بسته نرم‌افزاری تهیه شده برای آن توزیع استفاده کنید.
    • dpkg -i pkg.deb – نصب بسته نرم افزاری دبیان – برای توزیع‌های دبیان، ابونتو، مینت و … .
    • rpm -Uvh pkg.rpm – نصب بسته نرم افزاری RPM – برای توزیع‌های ردهت، فدورا و … .

 

چاپ

  • /etc/rc.d/init.d/lpd start – شروع به کار سیستم چاپ.
  • /etc/rc.d/init.d/lpd stop – پایان دادن به سیستم چاپ.
  • /etc/rc.d/init.d/lpd status – نمایش وضعیت سیستم چاپ.
  • lpq – نمایش کارهای موجود در صف چاپ.
  • lprm – حذف کارهای موجود در صف چاپ.
  • lpr – چاپ یک فایل.
  • lpc – تنظیمات کنترلی چاپ.
  • man subject | lpr – چاپ کتاب راهنمای یک دستور به صورت متنی.
  • man -t subject | lpr – چاپ کتاب راهنمای یک دستور به صورت اسکریپتی.
  • printtool – شروع رابط نصب پرینتر مورد نظر.

 

مدیریت پردازش ها

  • ps – نمایش پردازش های فعال جاری.
  • top – نمایش تمام پردازش های در حال اجرا.
  • kill pid – از بین بردن پردازش مورد نظر با شناسه pid.
  • killall proc – از بین بردن تمام پردازش هایی با نام ‌proc. در اجرای آن احتیاط کنید.
  • bg – نمایش پردازش های متوقف شده (stop) یا مکث کرده (puse) در بخش کارهای پس‌زمینه و ادامه اجرا پردارش های مکث کرده.
  • fg – آوردن کارهای به تازگی انجام شده در بخش کارهای پیش‌زمینه.
  • <strong”>fg n – آوردن کار n در بخش کارهای پیش‌زمینه.

 

آموزش نحوه عملکرد دستورات

  • apropos subject – لیست صفحات کتابچه راهنما برای موضوع مورد نظر.
  • man -k keyword – نمایش صفحات شامل کلمه کلیدی مورد نظر.
  • man command – نمایش کتابچه راهنما برای دستور مورد نظر.
  • man -t man | ps2pdf – > man.pdf  – ساخت فایل pdf از صفحه کتابچه راهنما.
  • which command – نمایش مسیر کامل دستور مورد نظر.
  • time command – نمایش زمان طول کشیدن دستور مورد نظر.
  • whereis app – نمایش مسیر بالقوه برنامه مورد نظر.
  • which app – نمایش میسر برنامه app که به صورت پیش‌فرض اجرا می‌شود.

 

دستور Shell در لینوکس:

Shell در واقع یک مفسر دستور العمل است ، شما می توانید با وارد کردن دستورات در shell با سیستم عامل ارتباط برقرار کنید.
Shell دستورات شما را پردازش کرده و به عنوان یک دستور العمل به سیستم عامل می فرستد .
چندین نوع  shell برای سیستم عامل لینوکس نوشته شده است که می توان از Bourn Again Shell (BASH) ، Korn Shell ،TCSH Shell و Z Shell را نام برد که بصورت پیش فرض در لینوکس BASH نصب می باشد .

این شل قابلیتهای زیادی را درون خود دارد و کلیدهای میانبر زیادی پشتیبانی می کند که در زیر به آنها اشاره می کنم .

  • Tab ⇆ : تکمیل خودکار از جایی که مکان‌نما وجود دارد.
  • Ctrl+a : انتقال مکان‌نما به ابتدای خط (معادل کلید Home)
  • Ctrl+e : انتقال مکان‌نما به انتهای خط (معادل کلید End)
  • Ctrl+p : فراخوانی فرمان قبلی (معادل کلید ↑)
  • Ctrl+n : فراخوانی فرمان بعدی (معادل کلید ↓)
  • Ctrl+r : جستجوی آخرین فرمانی که دارای کارکتر(های) مشخصی باشد. زدن دوباره‌ی این کلید در هنگام جستجو، به فرمان قبلی‌تر رجوع می‌کند.
  • Ctrl+o : اجرای فرمانی که در جستجو یافته شد.
  • Ctrl+l : پاک کردن محتویات صفحه‌نمایش (معادل فرمان clear).
  • Ctrl+u : پاک کردن محتویاتی از خط که قبل از مکان‌نما وجود دارند و کپی کردن آنها درون حافظه.
  • Ctrl+k : پاک کردن محتویاتی از خط که بعد از مکان‌نما وجود دارند و کپی کردن آنها درون حافظه.
  • Ctrl+w : پاک کردن کلمه‌ی قبل از مکان‌نما و کپی کردن آن درون بریده‌دان.
  • Ctrl+y : چسباندن محتویات حافظه از جایی که مکان‌نما وجود دارد.
  • Ctrl+d : ارسال یک نشانگر EOF که باعث بسته شدن خط فرمان فعلی می‌شود (معادل دستور exit). (تنها در زمانی این اتفاق می‌افتد که متنی در خط فعلی موجود نباشد)
  • Ctrl+c : ارسال یک سیگنال از نوع SIGINT به پروسه‌ی فعلی، که باعث پایان اجرا و بسته شدن آن می‌شود.
  • Ctrl+z : ارسال یک سیگنال از نوع SIGTSTP به پروسه‌ی فعلی، به باعث به تعلیق در آمدن آن می‌شود. که برای برگشت دادن آن می‌توان از دستور fg process-name-or-job-id استفاده کرد.
  • Ctrl+x Ctrl+e : ویرایش خط فعلی در ادیتوری که توسط متغیر EDITOR$ تعریف شده است.
  • Alt+f : حرکت به جلو به اندازه‌ی یک واژه.
  • Alt+b : حرکت به عقب به اندازه‌ی یک واژه.
  • Alt+Del : برش کلمه‌ی واقع در قبل از مکان‌نما
  • Alt+d : برش کلمه‌ی واقع در بعد از مکان‌نما
  • Alt+u : تبدیل تمام حروف کوچک به بزرگ، واقع در بعد از مکان‌نما تا انتهای کلمه‌ی فعلی
  • Alt+l : تبدیل تمام حروف بزرگ به کوچک، واقع در بعد از مکان‌نما تا انتهای کلمه‌ی فعلی
  • Alt+c : تبدیل حرف واقع در زیر مکان‌نما از کوچک به بزرگ و رفتن به انتهای کلمه‌ی فعلی
  • Alt+r : انصراف تغییرات و برگرداندن محتویات خط فعلی به همان شکلی که در تاریخچه‌ی خط فرمان موجود بود.

حذف فایلهایی با نام های خاص در لینوکس

شاید برای شما نیز این موضوع پیش آمده باشد که بخواهید تمام فایلها با یک پسوند خاص را در سرور  حذف کنید . با توجه به این که دستور rm قابلیت search ندارد نمی توان از این دستور استفاده نمود.

جهت انجام این کار می توانید از دستور زیر استفاده نمایید.

 find . -name “FILE-TO-FIND”-exec rm -rf {} \;

 و یا از دستور زیر استفاده نمایید.

 find . -type f -name “FILE-TO-FIND” -exec rm -f {} \;

 تفاوت ۲ دستور بالا در این است که در دستور اول علاوه بر فایلها ،  فولدرهایی را هم  ویژگی ذکر شده در دستور را دارند حذف خواهد کرد.ولی در دستور دوم فقط فایلها حذف خواهند شد.

 مثال اول : در این دستور تمام فایل ها را در شاخه کنونی و زیر شاخه های مربوطه که با پسوند .bak هستند را حذف خواهد کرد.

 find . -type f -name “*.bak” -exec rm -f {} \;

 مثال دوم : در این دستور تمام فایل ها و فولدرهایی را که در شاخه کنونی و زیر شاخه های مربوطه با پسوند .bak هستند را حذف خواهد کرد.

 find . -name “*.bak”-exec rm -rf {} \;

 مثال سوم : در این دستور تمام فایل ها را در شاخه کنونی و زیر شاخه های مربوطه که با پسوند .bak هستند را حذف خواهد کرد. با این تفاوت که قبل از حذف از شما تاییده خواهد گرفت .

  find . -type f -name “*.bak” -exec rm -i {} \;

حذف پوشه‌های خالی در لینوکس

 برای حذف پوشه‌هایی که خالی میباشند میتوانید از یکی از دستورات زیر استفاده نمایید:

 rmdir **/*(/^F)

find . -type d -empty -delete

 $ find . -depth -type d -exec rmdir {} \; 2>/dev/null

ادامه مطلب

آموزش نصب Java در لینوکس

آموزش نصب Java در لینوکس

به طور پیشفرض تمام توزیع های لینوکس همراه با openjdk از پیش نصب شده است. اگر می خواهید اوراکل جاوا JDK/JRE را بر روی سیستم خود نصب کنید، فقط مراحل زیر را دنبال کنید. در این آموزش خواهید دید که چطور آخرین اوراکل جاوا را بر روی centos 6.5 سرور نصب و پیکربندی می شود.

گام اول: بروزرسانی سرور شما

yum install update

گام دوم: سپس جستجو برای نسخه های قدیمی نصب شده بر روی سیستم شما

rpm -qa | grep -E ‘^open[jre|jdk]|j[re|dk]’

نمونه خروجی:

 

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686 eject-2.1.5-17.el6.i686 perl-Object-Accessor-0.34-136.el6.i686 java-1.7.0-openjdk-1.7.0.45-2.4.3.4.el6_5.i686 openjpeg-libs-1.3-10.el6_5.i686

گام سوم: چک کردن جاوا از قبل نصب شده

java -version

نمونه خروجی:

java version “1.7.0_45” OpenJDK Runtime Environment (rhel-2.4.3.4.el6_5-i386 u45-b15) OpenJDK Client VM (build 24.45-b08, mixed mode, sharing)

گام چهارم: همانطور که در خروجی بالا می بینید روی سیستم جاوا 1.6 و 1.7 نصب شده است که با دستورات زیر هر دوی آن ها را بر می داریم

yum remove java-1.6.0-openjdk yum remove java-1.7.0-openjdk

دانلود و نصب اوراکل جاوا JDK

ابتدا به صفحه رسمی دانلود جاوا رفته و آخرین نسخه آن را بسته به نوع معماری توزیع خود انتخب کنید و همان بسته مورد نیاز RPM خود را دانلود کنید. سپس به دایرکتوری که بسته JDK در آن دانلود شده است رفته و با دستورزیر آن را نصب کنید.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

rpm -ivh jdk-8u5-linux-i586.rpm

نمونه خروجی:

Preparing… ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files… rt.jar… jsse.jar… charsets.jar… tools.jar… localedata.jar… jfxrt.jar… plugin.jar… javaws.jar… deploy.jar…

اکنون برای چک کردن نسخه JDK از دستور زیر استفاده کنید.

java -version

نمونه خروجی:

java version “1.8.0_05” Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode, sharing)

همانطور که در خروجی می بینید ، جاوا 1.8 نصب شده است.

چه می شود اگر من نسخه های قدیمی JDK را از سیستم حذف کنم؟

همانطور که قبلا ذکر شد، مطمئن شوید که شماتمام نسخه های قدیمی JDK را از سیستم شما حذف شده اند. اگر شما این نسخه های قدیمی تر را از سرور خود قبل از نصب آخرین نسخه JDK را حذف کرده اید، شما باید به سیستم خود بگویید که جاوا از کجا اجرا شود. به طور پیش فرض، JDK 1.8 x در محل

/ usr/java/jdk1.8.0_05 /

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

alternatives –install /usr/bin/java java /usr/java/jdk1.8.0_05/jre/bin/java 20000 alternatives –install /usr/bin/jar jar /usr/java/jdk1.8.0_05/bin/jar 20000 alternatives –install /usr/bin/javac javac /usr/java/jdk1.8.0_05/bin/javac 20000 alternatives –install /usr/bin/javaws javaws /usr/java/jdk1.8.0_05/jre/bin/javaws 20000 alternatives –set java /usr/java/jdk1.8.0_05/jre/bin/java alternatives –set jar /usr/java/jdk1.8.0_05/bin/jar alternatives –set javac /usr/java/jdk1.8.0_05/bin/javac alternatives –set javaws /usr/java/jdk1.8.0_05/jre/bin/javaws

چک کردن سیستم:

 

ls -lA /etc/alternatives/

نمونه خروجی:

lrwxrwxrwx. 1 root root 29 May 9 16:40 jar -> /usr/java/jdk1.8.0_05/bin/jar lrwxrwxrwx. 1 root root 34 May 9 16:39 java -> /usr/java/jdk1.8.0_05/jre/bin/java lrwxrwxrwx. 1 root root 31 May 9 16:41 javac -> /usr/java/jdk1.8.0_05/bin/javac lrwxrwxrwx. 1 root root 36 May 9 16:41 javaws -> /usr/java/jdk1.8.0_05/jre/bin/javaws

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

java -version

نمونه خروجی:

java version “1.8.0_05” Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode, sharing)

ادامه مطلب

آموزش نصب و راه اندازی SQL Server در لینوکس

 

آموزش جامع نصب SQL Server در لینوکس به همراه تست و راه اندازی :امروز یکی از دوستان سوالی در مورد نصب SQL بر روی لینوکس پرسیده بودن که بنده دیدم بهتره به جای سوال این موضوع در قالب مقاله ای مطرح کنم تا هم پاسخ ایشون داده بشه و هم اینکه دیگران هم در صورت نیاز از مطلب بهره ببرند اوایل سال 2016 بود که به نظرم مایکروسافت اعلام کرد کاربرانلینوکس هم از SQL استفاده کنن ولی فعلا برای همه نسخه های لینوکس این امکان وجود نداره و صرفا برای پلتفرم های زیر بصورت رسمی ارائه شده

خوب حالا در این مقاله مرحله به مرحله پیش میریم تا نحوه نصب SQL بر روی اوبونتو و ردهت رو باهم یاد بگیریم

این مطلب هم میتواند برای شما مفید باشد   جستجوی بهینه در بانک های اطلاعاتی : سوئیچ های کاربردی Query برای مقایسه و جستجوی بهینه در بانک های اطلاعاتی

نصب SQL بر روی اوبونتو 
برای شروع کار در اوبونتو ابتدا باید کلید پی جی پی رو وارد کنیم

مقادیر و اطلاعات مورد نیاز را از طریق دستور زیر در فایلی که در مسیر /etc/apt/sources.list.d/sql-server.list قرار دارد وارد میکنیم

فایل ها و ابزارها را بروزرسانی میکنیم

اسکریپت کانفیک رو اجرا میکنیم برای نصب


زمانیکه در حین استفاده از MS SQL Tools از شما برای تایید قبول شرایط سوالی پرسیده شود گزینه بلی را انتخاب کنید

این مطلب هم میتواند برای شما مفید باشد   Hot plug و hot swap درسخت افزار چیست

نصب SQL بر روی ردهت لینوکس
ابتدا اطلاعات زیر را در فایلی که در مسیر /etc/yum.repos.d/sql-server.repo قرار گرفته اضافه کنید

سپس در مسیر/etc/yum.repos.d/msprod.repo  فایل مورد نظر را ایجاد کنید و اطلاعات زیر را در آن وارد نمایید

و در پایان از طریق دستور زیر اقدام به نصب نمایید بعد از تکمیل نصب از مسیر /opt/mssql/bin/sqlservr-setup میتوانید فایل کانفیگ را اجرا و پسورد و دیگر اطلاعات را ست نمایید و اینکه تعیین کنید SQL در هر بوت سیستم اتوماتیک اجرا شود

نکته مهم در صورتیکه میخواهید کاربران از بیرون نیز بتوانند به بانک های شما وصل شوند بایستی پورت 1433/tcp را در فایروال باز کنید که این کار از دو طریق مقدور است
روش بازکردن پورت در فایروال

روش استفاده از آی پی تیبل

خوب حالا نصب تمام شده و میرویم برای تست اولیه ابتدا توسط دستورات زیر وارد SQL شدهو دیتابیسی با نام علی قلعه بان ایجاد می نماییم

سپس از طریق یک کلاینت دیگر با استفاده یوزر و پسوردی که برای SQL ست کرده ایم و ای پی سیستم مورد نظر اتصال برقرار میکنیم و در لیست بانک ها میتوانید بانک ساخته شده را نیز مشاهده نمایید

این مطلب هم میتواند برای شما مفید باشد   CSMA چیست ؟

 

این مطلب هم میتواند برای شما مفید باشد   مقایسه ای بر الگوریتم های فشرده سازی داده
ادامه مطلب

نصب CentOS 7 بر روی VMware با استفاده از open-vm-tools

Linux CentOS 7 install on VMware vSphere with open-vm-tools

 

This article covers the main steps for a Linux CentOS 7 install in a VMware vSphere environment together with the open-vm-tools. Same virtual machine will also be used for a PostgreSQL and pgAdmin deployment. The purpose is to create a sandbox environment and learn how to deploy and protect this popular database server and operating system as well.

The idea is to provide protection by leveraging the Veeam Agent for Linux and also create additional rules for custom SureBackup jobs. More articles and configurations specific to Linux CentOS will follow. The idea is to reproduce in a homelab possible enterprise scenarios with the intent to test and tweak the production environments when ready.

The overall Linux CentOS 7 install process is very easy and straight forward. For this purpose a VM with a single disk will be used which is enough for the initial OS installation and software updates and the latest versions of PostgreSQL 11 and pgAdmin 4. Pleasantly surprised about the speed of the installation, the look and feel and the overall experience seems to have improved a lot and the desktop GUI is very responsive. Actually Linux CentOS 7 VM is running with just 2 CPUs and 4 GB RAM Memory. Never seen the VM using more than 800 MB of RAM which it makes a good candidate for additional applications as well. First ones will be PostgreSQL, pgAdmin, Apache and more.

All the required binaries for the installation are included in “DVD ISO“. There is also an “Everything ISO” which also includes all the sources for the binaries. and it is also a lot bigger. Almost twice the size of the DVD ISO. The first one is sufficient to complete the Linux CentOS 7 install with a full desktop environment along with the most popular applications. Should more or new packages be required it is possible to automatically install them using “Yum” an excellent package manager included in the main install.

 

Linux CentOS 7 install on VMware

From the vSphere Client let’s create a new virtual machine to start with the Linux CentOS 7 install.

domalab.com Linux CentOS 7 install create a new machine

Let’s provide a virtual machine name and the folder location.

domalab.com Linux CentOS 7 install vm name and folder

At this point in the wizard let’s specify the VMware vSphere Host associated to the VM.

domalab.com Linux CentOS 7 install vmware compute resource

In the storage selection we can choose between available datastores.

domalab.com Linux CentOS 7 install vmware select storage

At this point the wizard shows the available “virtual hardware templates” for compatibility purposes. Unless there are earlier versions of the vSphere Hosts this VM should work with, the latest version is always better.

domalab.com Linux CentOS 7 install vmware select compatibility

In this step it is possible to choose the desired template for the Linux CentOS 7 install. In this case the 64-bit version.

domalab.com Linux CentOS 7 install vmware selcet guest OS

For the virtual hardware the following settings provide very good performances:

  • 2 CPU
  • 4 GB RAM
  • 40 GB Disk

As per screenshot in the wizard the CD drive is configured to point directly to the CentOS installation ISO file. For the network optionally a Port Group which provides access to a DHCP would be great. In reality during the installation it is possible to configure manual and DHCP network settings.

domalab.com Linux CentOS 7 install vmware customize hardware

And finally a quick summary from the wizard showing the main details before committing.

domalab.com Linux CentOS 7 install vmware wizard

Everything is ready to start the with the Linux CentOS 7 install. From the boot menu the options to install, test the media before proceeding with the deployment and also the troubleshooting section. Eventually the ability to start the install with parameters specific to the hardware used. In the case of a VM the virtual hardware is fully identified and installed with the proper built-in drivers.

domalab.com Linux CentOS 7 install vmware remote console

In the welcome screen we can select the desired language. This choice also gives/changes the desired keyboard layout. The text box is useful to test special characters for strong passwords.

domalab.com Linux CentOS 7 install welcome screen

At this point it is just matter of choosing the specific configurations for each section. The incomplete ones are highlighted with an orange icon.

domalab.com Linux CentOS 7 install settings

In the case of the “installation destination” the wizard offers a default partitioning scheme suitable for the large majority of installations and based on detected hardware. Eventually it is allowed to create a custom partition layout. Useful for Server Applications requiring specific configurations.

domalab.com Linux CentOS 7 install drive partition

Next is the network configuration. In this case my preference is to configure a manual IP address having the FQDN already setup for this server.

domalab.com Linux CentOS 7 install network configuration

There are plenty of settings organised in pertinent tabs. From IPv4 let’s select Manual and provide the IP addresses.

domalab.com Linux CentOS 7 install network

Once ready and verified the network settings, let’s click on “Done” and continue.

domalab.com Linux CentOS 7 install network review

For this install a full desktop experience is used with GNOME Desktop and in addition a set of commonly used applications. Other ones can be easily installed using the built-in Software Manager.

domalab.com Linux CentOS 7 install software selection

At this point everything is ready to begin the Linux CentOS 7 install.

domalab.com Linux CentOS 7 install begin

During the initial copy and install of the binaries the wizard prompts for the creation of a root password and a non-admin account.

domalab.com Linux CentOS 7 install root password

The creation of a simple user with no admin permissions is a great idea from a security perspective.

domalab.com Linux CentOS 7 install user creation

A few minutes later the installation phase is completed. A reboot is required at this point.

domalab.com Linux CentOS 7 install completed

On the first boot the wizard shows an initial setup page to accept the licensing (still free!). With an automated install this step can be omitted. Since the network is connected we can proceed to the next step.

domalab.com Linux CentOS 7 install license information

Let’s accept the license and continue.

domalab.com Linux CentOS 7 install licensing

We can now finish the configuration.

domalab.com Linux CentOS 7 install finish configuration

In the getting started just a few questions about social profiles and locations.

domalab.com Linux CentOS 7 install Gnome welcome

The Linux CentOS 7 is now ready. Next steps include installing open-vm-tools and run all the OS updates.

domalab.com Linux CentOS 7 install desktop

Right click on Desktop to open the “Terminal” and issue a “su” command to impersonate the root account providing the password at the installation time.

domalab.com Linux CentOS 7 install su root

Using “yum” package manager let’s install the open-vm-tools with:

“yum install open-vm-tools”

Yum will automatically search and check the dependencies in the built-in repositories.

domalab.com Linux CentOS 7 install yum open-vm-tools

Let’s click on “y” to the question and yum will proceed with installation. Job done. Open-vm-tools are installed and running!

domalab.com Linux CentOS 7 install open-vm-tools complete

Next from Applications > Software Update the option to check for all updates for the installed packages part of the default install. At the time of writing a bit more than 200. Thing is they are very small and do not take long to download and install.

domalab.com Linux CentOS 7 install browse software updates

A few minutes later the Linux CentOS 7 install is up and running with the latest version.

domalab.com Linux CentOS 7 install all updates

Next article will cover the installation of PostgreSQL and pgAdmin on Linux CentOS 7.

ادامه مطلب