CentOS6 Linux操作系统优化(初始化系统)

2024-10-14 02:39:00

1、基本查看命令:#查看系蕙蝤叼翕统版本cat /etc/redhat-release#不希望在登录屏幕显示系统版本,可以将/etc/issue文件的内容清空隐藏系统版本e艘早祓胂cho "Welcome to Server" >/etc/issueecho "Welcome to Server" >/etc/redhat-release#查看内核uname –r#查看几位系统uname –mgetconf LONG_BIT#查看所有信息uname –a#最近登入的时间Lastlog#列出所有用户的连接时间ac -p#显示当前登录用户名称who#查看各种服务的portcat /etc/services|more#查看实际有几颗CPUcat /proc/cpuinfo |grep name|cut -f2 -d: |uniq -c#结果大于0,说明支持64位计算,lm指long mode,支持lm则是64位cat /proc/cpuinfo|grep flags|grep 'lm' |wc –l #找到指定文件的源、二进制文件和手册等各部分whereis

2、dmidecode命令查看linux版本相关信息#查看服务器型号dmidecode | grep 'Product Name'#查看主板的序列号dmidecode |grep 'Serial Number'#查看系统序列号dmidecode -s system-serial-number#查看内存信息dmidecode-t memory#查看OEM信息:dmidecode -t 11

3、常规分区方案:/ 剩余硬盘大小Swap 真实内存的1.5倍/boot 100M4、DB及存储方案/data 剩余硬盘大小,放数据的。/ 50-200GSwap 1.5倍/boot 100M门户网站分区方案/ 50-200GSwap 1.5倍/boot 100M剩余不进行分区,保留,将来哪个要用,就根据需求再分。小提示:一般有重要数据的业务,尽可能数据所在的分区单独分出来;

4、更新yum源#首先备份/etc/yum.repos.d/CentOS-Base.repocd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.bak#下载最新的源文件#阿里云:http://mirrors.aliyun.com/help/centoswget-OCentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo#163云:Url: http://mirrors.163.com/.help/centos.html# wget http://mirrors.163.com/.help/CentOS5-Base-163.repo#运行以下命令生成缓存yumcleanall&&yummakecache

5、安装必要的工具软件如果安装系统时选择的是最小化安装,那么还需要安装一些必要的工具软件:yuminstalltreetelnetdos2unixsysstatlrzsz–y如果还需要手动安装某些软件包组,可以用yum groupinstall命令进行批量安装:yumgroupinstall"Compatibilitylibraries""Dial-upNetworkingSupport"

6、#setup图形工具命令调整直接通过命令ntsysv直接调用setup#直接调用更改ntsysv

7、chkconfig命令调整#查看系统哪些服务在哪些运行级别开启chkconfig –list#过滤查看在3运行级别开启的服务chkconfig --list|grep "3:on"#开启或关闭某程序#设置sshd在任何级别是都off状态chkconfig sshd off chkconfig --level 234 sshd on案例(只允许特定服务开机自启动)# cat zqd.shfor i in `chkconfig --list |awk '{print $1}'`;do chkconfig $i offdonefor i in sshd network crond rsyslog;do chkconfig --level 3 $i on done#解题思想:先将所有服务全部关闭,然后再将要开启的服务逐一开启即可;假设现在只需启动crond, network, rsyslog, sshd这四个服务,将其他服务全部关闭,forsrvin`chkconfig--list|grep3:on|awk'{print$1}'`;dochkconfig--level3$srvoff;doneforsrvincrondnetworkrsyslogsshd;dochkconfig--level3$srvon;done或者更简单地,使用排除法关闭除这四个服务以外的所有服务,可以只用如下一条命令:forsrvin$(chkconfig--list|grep3:on|awk'{print$1}'|egrep-v'crond|network|rsyslog|sshd');dochkconfig[--level3]$srvoff;done

8、修改SSH默认配置优化SSH配醅呓择锗置、严格限制非正常登录是提高系统安全性的一个简单有效的方法,具体如下(端口号可以是大于1024的任意端口):[root@Howd髫潋啜缅en~]#catoptimise_ssh.sh#!/bin/bash\cp-p/etc/ssh/sshd_config/root/sshd_config.`date+"%F"-$RANDOM`sed-i's%#Port22%Port1024%'/etc/ssh/sshd_configsed-i's%#PermitRootLoginyes%PermitRootLoginno%'/etc/ssh/sshd_configsed-i's%#PermitEmptyPasswordsno%PermitEmptyPasswordsno%'/etc/ssh/sshd_configsed-i's%GSSAPIAuthenticationyes%GSSAPIAuthenticationno%'/etc/ssh/sshd_configsed-i's%#UseDNSyes%UseDNSno%'/etc/ssh/sshd_configegrep'Port|RootLogin|EmptyPass|GSSAPIAuthentication|UseDNS'/etc/ssh/sshd_config|grep-v^#[root@Howden~]#./optimise_ssh.shPort1024PermitRootLoginnoPermitEmptyPasswordsno#禁止空密码登录GSSAPIAuthenticationnoUseDNSno #关闭DNS查询[root@Howden~]#/etc/init.d/sshdreload

9、关闭SELinuxcat/etc/selinux/config可以看到默认配置是开启的,要将它关闭需要把enforcing改成disabled:sed-is#SELINUX=enforcing#SELINUX=disabled#/etc/selinux/config#这个改动只有在重启了操作系统之后才会生效,可以用getenforce命令看到当前的运行状态还是enforcing:getenforce#如果操作的是线上服务器,不能随便重启,可以用如下命令把SELinux的当前状态改成permissive,这样就只会有警告,不会阻止用户的行为:setenforce0

10、系统运行级别cat/etc/inittab如果没有在图形界面下操作的需求,应当保持系统的默认运行级别为3,即多用户文本界面模式: 还可以用runlevel命令查看当前的运行级别关闭重启ctl-alt-delete组合键[root@localhost ~]# vi /etc/init/control-alt-delete.conf #exec /sbin/shutdown -r now "Control-Alt-Deletepressed" #注释掉

11、创建用户useraddtynecastle&&echo1234567|passwd--stdintynecastlehistory-d$(history|grep'passwd--stdintynecastle'|grep-vgrep|awk'{print$1}')

12、Sudo的应用#让普通用户可以拥有指定root权限功能#通过visudo配置sudovisudo#注:当给普通用户全部root权限时,可通sudo su – 命令由当前普通用户切换到root用户环境变量中,而无需知道root的密码,只要知道当前用户密码即可切换成功。#通过配置文件配置sudovi /etc/sudoers通过visudo直接编辑,配置后可自动检查语法功能;1)授权(授权组可用%开头)Wang ALL=(ALL) ALL用户 机器=(授权哪个角色的权限) 授权的命令%用户组 机器=(授权哪个角色的权限) 授权的命令

13、系统字符集调整支持显示中文cat /etc/sysconfig/i18n#LANG="en_US.UTF-8"LANG="zh_CN.GB18030"#注:建议更改字符集source /etc/sysconfig/i18necho $LANG#注:Source表示重新加载配置文件使其生效sed-i's#LANG="en_US.UTF-8"#LANG="zh_CN.GB18030"#'/etc/sysconfig/i18nsource/etc/sysconfig/i18n

14、服务器时间同步及更改通过date –s命令更改时间并通过hwclock命令将更改的时间更新bash里date -s "2016/11/18"hwclockdate +%F\ %Tcp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #设置Shanghai时区

15、通过ntpdate更新服务器时间ntpdate time.nist.gov#安装ntp-server(系统默认安装),也可通过yum安装rpm -qa ntp检查ntp server的防火墙upd 123端口。#iptables INPUT -p udp -m udp --dport 123 -j ACCEPT通过crontab任务计划定时更新服务器时间 echo “*/5 * * * * /usr/sbin/ntpdate time.nist.gov” >>/var/spool/cron/root

16、大服务器文件描述符调整文件描述符的数量限制通过执行命令ulimit -n可以看到,Linux系统默认的单个进程可打开的文件描述符数量的上限为1024,而在高负载、大并发等应用场景中,这一覆诈端螽限制往往远不能满足需求。调整这个上限的方法主要有两种,一种是执行ulimit -SHn:ulimit-nulimit-SHn65535echo "ulimit -SHn 102400">> /etc/rc.local #设置开机自动生效但是这样只能影响到当前的session,当终端重新连接或当前用户退出后就会失效。如果想要永久变更就要用另一种方法,即在配置文件中修改:echo-e"*\t-\tnofile\t65535">>/etc/security/limits.conf或echo -e "* hard nofile 1024000\n* soft nofile 1024000\n" >> /etc/security/limits.confulimit -n#注:调整的数字不是越大越好,一句话够用就行;

17、锁定关键系统文件通过chattr +i 进行加锁chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittabrm -rf /etc/passwdlsattr/etc/passwd/etc/shadow/etc/group/etc/gshadow/etc/inittab通过chattr -i 进行解锁chattr-i/etc/passwd/etc/shadow/etc/group/etc/gshadow/etc/inittablsattr/etc/passwd/etc/shadow/etc/group/etc/gshadow/etc/inittab为了防止chattr命令被黑客使用,可以将其改名,让除了管理员以外的其他任何人找不到该命令:mv/usr/bin/chattr/usr/bin/test通过lsattr 查看文件是否加锁lsattr /etc/passwd #查询结果有i表示已加锁通过chattr -a 参数只允许向文件内添加内容chattr +a 111filerm -rf 111filerm: 无法删除"111file": 不允许的操作、echo 123 >111filebash: 111file: 不允许的操作echo 123 >>111filecat 111file

18、查看是否启用透明大页命令cat /sys/kernel/mm/redhat_transparent_hugepage/enabled 该命令适用于centOS Linux系统more /etc/issuecat /sys/kernel/mm/redhat_transparent_hugepage/enabled命令cat /sys/kernel/mm/transparent_hugepage/enabled 该命令适用于其它Linux系统使用命令查看时,如果输出结果为[always]表示透明大页启用了。[never]表示透明大页禁用、[madvise]表示如何HugePages_Total返回0,也意味着透明大页禁用了grep -i HugePages_Total /proc/meminfocat /proc/sys/vm/nr_hugepages返回0也意味着透明大页禁用了cat /proc/sys/vm/nr_hugepages

19、禁用、启用透明大页功能方法1:设置/etc/grub.conf文件内容尾部加入以下内容,在系统启动是禁用。transparent_hugepage=never方法2:设置/etc/rc.local文件vi /etc/rc.localif test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabledfi使用上面的配置后必须重启操作系统才能生效,你也可以运行下面命令不用重启操作系统。echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabledcat /sys/kernel/mm/redhat_transparent_hugepage/enabled

20、/etc/motd文件的作用#当退出系统在进入系统时,会显示motd文件里面的内容,这样可以将一些信息告诉给使用者。

猜你喜欢