نوشته شده توسط تایماز اسمعلی.
پس از نصب اولیه سیستم عامل CentOS برای به کارگیری آن در محیط عملیاتی نیاز است تا یکسری پیکربندی های اولیه بر روی آن انجام شود از جمله این پیکربندی های می توان به تغییر نام و آی پی اشاره کرد در این نوشته نحوه اعمال این پیکربندی های که به صورت زیر هستند را مورد بررسی قرار خواهیم داد.
- تغییر نام
- اختصاص آی پی و تنظیمات مربوط به شبکه
- اضافه کردن کاربر جدید
- فایروال و SElinux
- TimeZone
- به روز رسانی سرور
- غیر فعال کردن IPV6
- نصب VMware Tools
- SSH
۱-تغییر نام
برای تغییر نام و دامنه سرور روش های متفاوتی وجود دارد یکی از ساده ترین این روش ها استفاده از دستور hostnamectl می باشد با اجرای این دستور نام سرور به همراه یکسری مشخصات دیگر به نمایش در می آید.
[root@centos ~]# hostnamectl Static hostname: centos.domain.local Icon name: computer-vm Chassis: vm Machine ID: c1e5f5ace9de418c9a828e67b77fc64a Boot ID: 6c6029965f734dbe86bf0b6cc500f8d4 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-123.el7.x86_64 Architecture: x86_64
برای تغییر نام باید به شکل زیر از این دستور استفاده کنید.
[root@centos ~]# hostnamectl set-hostname name
به عنوان نمونه:
[root@centos ~]# hostnamectl set-hostname centos.domain.com
بعد از اجرای دستور بالا برای اعمال تغییرات با دستور reboot سرور را راه اندازی مجدد کنید.
۲- اختصاص آی پی و تنظیمات مربوط به شبکه
برای اختصاص آی پی و تنظیمات مربوط به شبکه راه ها و ابزار های فراوانی وجود دارد ما در این نوشته با ایجاد تغییرات در فایل ifcfg-* اقدام به تغییر آی پی و تنظیمات مربوط به شبکه خواهیم نمود برای این منظور فایل ifcfg-*(* را با نام کارت شبکه خود جایگزین کنید.) در مسیر /stc/sysconfig/network-scripts/ با ابزار مورد دلخواه خود مورد ویرایش قرار دهید.
[root@centos ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32 HWADDR=00:0C:29:B3:B7:83 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=ens32 UUID=782059b8-07f4-4948-8fca-8069f8bf0c14 ONBOOT=yes IPADDR=192.168.20.1 NETMASK=255.255.255.0 GATEWAY=192.168.20.1 DNS=192.168.20.1
همان طور که می بینید این فایل حاوی پارامتر های متفاوتی هست که در این نوشته برخی از آنها را مورد بررسی قرار خواهیم داد.
پارامتر BOOTPROTO: این پارامتر در واقع مشخص کننده نحوه اختصاص آی پی و تنظیمات شبکه می باشد اگر مقدار این پارامتر برابر hdcp باشد یعنی تنظیمات مربوط به شبکه از طریق DHCP در یافت خواهد شد اگر مقدار این پارامتر برابر none باشد یعنی تنظیمات مربوط به شبکه به صورت دستی تنظیم خواهد شد.
پارامتر ONBOOT: مقدار این پارامتر باید برابر yes باشد تا موقع بارگذاری سیستم عامل تنظیمات مربوط به شبکه اعمال شود.
پارامتر IPADDR: مقدار این پارامتر مشخص کننده آدرس آی پی سرور می باشد.
پارامتر NETMASK: مقدار این پارامتر مشخص کننده دامنه شبکه می باشد.
پارامتر GATEWAY: مقدار این پارامتر مشخص کننده دروازه(gateway) می باشد.
پارامتر DNS: مقدار این پارامتر مشخص کننده آدرس DNS سرور می باشد.
با انجام تنظیمات بالا نیاز است تا سرویس network راه اندازی مجدد شود برای این منظور از دستور زیر استفاده کنید.
[root@centos ~]# systemctl restart network
۳- اضافه کردن کاربر جدید
برای اضافه کردن کاربر جدید از دستور useradd به شکل زیر استفاده کنید.
[root@centos ~]# useradd taymaz
برای تغییر رمز عبور کاربر از دستور passwd به شکل زیر استفاده کنید.
[root@centos ~]# passwd taymaz Changing password for user taymaz. New password: Retype new password: passwd: all authentication tokens updated successfully.
برای مشخص کردن اینکه چه کاربرانی بتوانند به کاربر root تغییر کاربری بدهند ابتدا با دستور زیر کاربر مورد نظر را عضو گروه wheel بنمایید.
[root@mcentos ~]# usermod -G wheel taymaz
سپس فایل /etc/pam.d/su را مورد ویرایش قرار داده و خط زیر را از حالت comment خارج کنید.
auth required pam_wheel.so use_uid
[root@mcentos ~]# vi /etc/pam.d/su #%PAM-1.0 auth sufficient pam_rootok.so # Uncomment the following line to implicitly trust users in the "wheel" group. #auth sufficient pam_wheel.so trust use_uid # Uncomment the following line to require a user to be in the "wheel" group. auth required pam_wheel.so use_uid auth substack system-auth auth include postlogin account sufficient pam_succeed_if.so uid = 0 use_uid quiet account include system-auth password include system-auth session include system-auth session include postlogin session optional pam_xauth.so
۴- فایروال و SElinux
برای غیر فعال کردن فایروال به ترتیب از دستورات زیر استفاده کنید.
[root@centos ~]# systemctl stop firewalld [root@centos ~]# systemctl disable firewalld
برای فعال کردن فایروال به ترتیب از دستورات زیر استفاده کنید.
[root@centos ~]# systemctl start firewalld [root@centos ~]# systemctl enable firewalld ln -s '/usr/lib/systemd/system/firewalld.service' '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service' ln -s '/usr/lib/systemd/system/firewalld.service' '/etc/systemd/system/basic.target.wants/firewalld.service'
برای غیر فعال کردن SElinux فایل /etc/selinux/config را مورد ویرایش قرار داده و مقدار پارامتر SELINUX را به disable تغییر دهید.
[root@centos ~]# vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
برای فعال کردن SElinux فایل /etc/selinux/config را مورد ویرایش قرار داده و مقدار پارامتر SELINUX را به enforcing تغییر دهید.
[root@centos ~]# vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX= enforcing # SELINUXTYPE= can take one of these two values: # targeted – Targeted processes are protected, # minimum – Modification of targeted policy. Only selected processes are protected. # mls – Multi Level Security protection. SELINUXTYPE=targeted
بعد از اعمال تغییرات بالا با دستور reboot سرور را راه اندازی مجدد کنید تا تغییرات اعمال شود.
۵- TimeZone
برای نمایش TimeZone و یکسری مشخصات مربوط به زمان و تاریخ از دستور timedatectl به شکل زیر استفاده کنید.
[root@centos ~]# timedatectl Local time: Mon 2014-10-06 13:45:23 IRST Universal time: Mon 2014-10-06 10:15:23 UTC RTC time: Mon 2014-10-06 10:15:25 Timezone: Asia/Tehran (IRST, +0330) NTP enabled: n/a NTP synchronized: no RTC in local TZ: no DST active: no Last DST change: DST ended at Sun 2014-09-21 23:59:59 IRDT Sun 2014-09-21 23:00:00 IRST Next DST change: DST begins (the clock jumps one hour forward) at Sat 2015-03-21 23:59:59 IRST Sun 2015-03-22 01:00:00 IRDT
برای نمایش لیست کامل TimeZone های سیستم از دستور timedatectl به شکل زیر استفاده کنید.
[root@centos ~]# timedatectl list-timezones
برای تغییر TimeZone فعلی سرور از دستور timedatectl به شکل زیر استفاده کنید.
[root@centos ~]# timedatectl set-timezone Asia/Tehran
۶-به روز رسانی سرور
برای به روز رسانی سرور از دستور yum به شکل زیر استفاده کنید.
[root@centos ~]# yum -y update
۷- غیر فعال کردن IPV6
برای غیر فعال کردن IPV6 باید ابتدا فایل /etc/sysctl.conf را مورد ویرایش قرار داده و خط زیر را به آن اضافه کنید.
net.ipv6.conf.all.disable_ipv6=1 [root@centos ~]# vi /etc/sysctl.conf # System default settings live in /usr/lib/sysctl.d/00-system.conf. # To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file # # For more information, see sysctl.conf(5) and sysctl.d(5). net.ipv6.conf.all.disable_ipv6=1
توجه داشته باشد که در خط بالا منظور از کلمه all یعنی غیر فعال کردن IPV6 برای کلیه کارت های شبکه ها، در صورت نیاز به غیر فعال کردن IPV6 بر روی یک کارت شبکه خاص باید نام کارت شبکه را به جای all وارد کنید به مثال زیر توجه کنید.
net.ipv6.conf.ens32.disable_ipv6=1
پس از اعمال تغییرات بر روی فایل sysctl.conf باید دستور زیر را اجرا کنید.
[root@centos ~]# sysctl -p net.ipv6.conf.all.disable_ipv6 = 1
۸-نصب VMware Tools
با توجه به رشد زیر ساخت های مجازی و استفاده از هایپروایزوها و محبوبیت زیر ساخت های مجازی شرکت VMware در این مرحله قدم به قدم روش نصب VMware Tools را مورد بررسی قرار خواهیم داد.
در مرحله اول باید سی دی مربوط به VMware Tools را Mount کنید برای این منظور دستورات زیر را به ترتیب اجرا کنید.
[root@centos ~]# mkdir /cdrom [root@centos ~]# mount /dev/cdrom /cdrom mount: /dev/sr0 is write-protected, mounting read-only
در مرحله دوم باید فایل فشرده حاوی بسته های VMware Tools را با دستور زیر از حالت فشرده خارج کنید.
[root@centos ~]# tar -zxf /cdrom/VMwareTools-8.4.6-385536.tar.gz
در مرحله آخر با ورود به شاخه vmware-tools-distrib اسکریپت نصب VMware Tools را با دستور زیر اجرا کنید.
[root@centos ~]# cd vmware-tools-distrib/ [root@centos vmware-tools-distrib]# ./vmware-install.pl –default
توجه نمایید که به هنگام نصب این بسته ها، یکسری سوالات پرسیده می شود که با فرستادن پارامتر –default به اسکریپت نصب، از پرسیدن این سوالات اجتناب می شود و با مقادیر پیش فرض فرآیند نصب تکمیل می شود در صورت نیاز به تغییر دادن مقادیر پیش فرض و جواب دادن به سوالات از فرستادن مقدار –default به اسکریپت نصب خودداری کنید.
۹-SSH
برای ایجاد محدودیت بر روی SSH کارهای متفاوتی می توان انجام داد ما در این نوشته نخست کاربرانی که سطح دسترسی root را دارند را محدود می کنیم سپس کاربرانی که اجازه دسترسی به سرور از طریق سرویس SSH را دارند را مشخص می کنیم برای اعمال این محدودیت های نیاز است تا دو پارامتر زیر در فایل /etc/ssh/sshd_config را مقداردهی کنیم.
PermitRootLogin: این پارامتر مشخص می کند که کاربرانی که سطح دسترسی root را دارند می توانند از طریق سرویس SSH به سرور وصل شوند یا نه، اگر مقدار این پارامتر yes باشد کاربران با سطح دسترسی root می توانند از طریق SSH به سرور وصل شوند اگر مقدار این پارامتر no باشد این اجازه به آنها داده نخواهد شد.
AllowUsers: مقدار این پارامتر مشخص کننده ی کاربرانی است که می توانند از طریق سرویس SSH به سرور متصل شوند.
[root@mcentos ~]# vi /etc/ssh/sshd_config #KeyRegenerationInterval 1h #ServerKeyBits 1024 # Ciphers and keying #RekeyLimit default none # Logging # obsoletes QuietMode and FascistLogging #SyslogFacility AUTH SyslogFacility AUTHPRIV #LogLevel INFO # Authentication: #LoginGraceTime 2m PermitRootLogin no AllowUsers taymaz admin #StrictModes yes #MaxAuthTries 6 #MaxSessions 10
نوشته پیکربندی اولیه CentOS 7 اولین بار در لینوکس سیزن پدیدار شد.