使用大于10000的端口号,yes(root用户远程连接)

作者: 操作系统  发布:2019-11-22

第1章 优化

期中架构

初始化模板虚拟机

更改SSH服务端远程登录的配置

windows服务端的默认远程管理端口是3389,管理员用户是administrator,普通用户是guest。Linux的管理用户是root,普通用户默认有很多个,远程连接默认端口是22。

修改配置文件/etc/ssh/sshd_config,13行Port 22(默认端口22),改为Port 52113(范围0——65535);15行ListenAddress 0.0.0.0 (监听ip地址),改为ListenAddress 192.168.131.1;43行PermitRootLogion yes(root用户远程连接),改为PermitRootLogion no;122行UseDNS yes(DNS解析),改为UseDNS no;GSSAPIAuthentication yes(SSH连接慢),改为GSSAPIAuthentication no;

cat –n:查看行号

vim :set nu 显示行号

diff比较2个文件的不同之处。

[root@oldboy66 ssh]# diff sshd_config sshd_config.oldboy.20161204

vimdiff以高亮方式比较2个文件的不同之处。

[root@oldboy66 ssh]# vimdiff sshd_config sshd_config.oldboy.20161204

sed替换:

  1. [root@oldboy66 ssh]# sed -ir '13 iPort 52113nPermitRootLogin nonPermitEmptyPasswords nonUseDNS nonGSSAPIAuthenication no' sshd_config

重启生效:/etc/init.d/sshd restart(可能影响用户)或/etc/init.d/sshd reload(平滑重启)。

查看端口:

netstat -lntup|grep sshd

1.1 修改yum源 epel源

curl -o /etc/yum.repos.d/CentOS-Base.repo

curl -o /etc/yum.repos.d/epel.repo

yum -y install vim lrzsz wget bash-completion.noarch  bash-completion-extras.noarch  dos2unix tree htop telnet pv

bash-completion  补全命令包

关闭防火墙

[root@CentOS7 ~]# systemctl disable firewalld.service 

[root@CentOS7 ~]# systemctl stop firewalld.service 

关闭seliux

[root@Centos7 ~]# sed -i 's#enforcing#disabled#g'  /etc/selinux/config

Ssh优化远程连接 

vim  /etc/ssh/sshd_config

         Port 52113                                  #使用大于10000的端口号

         PermitRootLogin no                          #禁止root远程登录

         PermitEmptyPasswords no                     #禁止空密码登录

         UseDNS no                                   #不使用dns解析

         GSSAPIAuthentication no                     #连接慢的解决配置

重启生效systemctl restart sshd

普通用户—防火墙—外网交换机—高可用软件(keepalived)负载均衡、负载均衡(nginx/lvs/haproxy)—web服务器(nginx/apache)-数据库(MySQL/MongoDB/Oracle)、存储(NFS/FastdFS/GFS/MFS)、备份(Rsync+定时任务)—缓存(Redis/Memcached)

=========================================================================

利用sudo控制用户对系统命令的使用权限

管理sudo命令:

visudo或vi /etc/sudoers,visudo更好。vi命令模式直接输入行数+gg到固定的行数,显示行号:set nu,yy(复制)+p(粘贴)复制当前行到下一行,shift+a到结尾处于编辑状态。

98+gg: 98 root ALL=(ALL) ALL

给oldboy授予root权限:

oldboy ALL=(ALL) ALL

oldboy ALL=(ALL) NOPASSWD:ALL(不提示输入密码)

用oldboy添加一个用户oldgirl:

  1. [oldboy@oldboy66 ~]$ sudo useradd oldgirl

  2. #输入oldboy密码

  3. [sudo] password for oldboy:

  4. #添加成功

  5. [oldboy@oldboy66 ~]$ tail -1 /etc/passwd

  6. oldgirl:x:501:501::/home/oldgirl:/bin/bash

给oldboy授予固定权限:

oldboy ALL=(ALL) /bin/touch,/usr/sbin/useradd

注意:需要命令的全路径,查看命令全路径which 命令,例如:

  1. [root@oldboy66 ~]# which useradd
  1. /usr/sbin/useradd

  2. [root@oldboy66 ~]# which touch

  1. /bin/touch

find查找:find / -type f -name "useradd"

whereis查找:whereis -b useradd

locate查找:locate useradd

环境变量:

PATH系统路径变量,执行ls、cp等非内置命令时,系统会查找PATH里对应的路径是否存在,如果没有就报告找不到该命令。当执行which cp来查看命令所在路径的时候,也就是从PATH变量去搜索。

PATH变量的临时修改 export PATH="/tmp:$PATH",永久生效将命令放到/etc/profile下,使用source /etc/profile 使得立刻生效。

1.2 提权用户oldboy

useradd oldboy

passwd oldboy

visudo

93 oldboy ALL=(ALL)     NOPASSWD: ALL

visudo -c 生效

运维人员—秘密通道(OpenVPN/VPN)—跳板机(Shell/JumpServer/CreazyEYE/GateONE)、批量管理(Ansible/SaltStack/pash)、监控(Zabbix/Nagios+cacti)

修改网卡配置

Linux中文显示设置

查看当前字符编码:

  1. [root@oldboy66 tmp]# cat /etc/sysconfig/i18n

  2. LANG="en_US.UTF-8"

  3. SYSFONT="latarcyrheb-sun16"

操作前先进行备份:cp /etc/sysconfig/i18n /etc/sysconfig/i18n.oldboy.20161205

  1. [root@oldboy66 sysconfig]# sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.UTF-8"#g' /etc/sysconfig/i18n
  1. [root@oldboy66 sysconfig]# cat /etc/sysconfig/i18n

  2. LANG="zh_CN.UTF-8"

  3. SYSFONT="latarcyrheb-sun16"

  4. #立刻生效

  5. [root@oldboy66 sysconfig]# source /etc/sysconfig/i18n

  6. [root@oldboy66 sysconfig]# echo $LANG

  7. zh_CN.UTF-8

注意:客户端字符集需改为UTF-8。

1.3 时间同步

echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >> /var/spool/cron/root

网站的更新过程(代码上线流程)

# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

设置Linux服务器时间同步

显示时间:date

修改时间:date –s "时间" hwclock

显示日历:cal

同步互联网时间:

  1. [root@oldboy66 tmp]# /usr/sbin/ntpdate time.nist.gov

定时任务执行同步:

  1. #每5分钟执行一次同步

  2. [root@oldboy66 tmp]# echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1" >>/var/spool/cron/root

  3. [root@oldboy66 tmp]# crontab -l

  1. */5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

下面三种方法是等价的:

/dev/null 空设备(黑洞)

错误和正确都输出到/dev/null:

1、1>/dev/null 2>/dev/null

2、1>/dev/null 2&1

3、&>/dev/null

1.4 主机名配置

临时 hostname     永久  /etc/hostname

 

hostnamectl set-hostname  主机名

cat /etc/hostname 

查看     hostnamectl

Bash   生效

办公室测试环境

NAME=eno16777736

时间同步架构

小规模时间同步架构:

图片 1

大规模时间同步架构:

图片 2

1.5 字符集

临时

[root@clsn ~]# echo $LANG

zh_CN.UTF-

永久

[root@clsn ~]# cat /etc/locale.conf

LANG="zh_CN.UTF-8"

[root@oldboyedu39 ~]# export LANG=en_US.UTF-8 ####修改

[root@oldboyedu39 ~]#  echo $LANG  ###查看

en_US.UTF-8

[root@oldboyedu39 ~]#

 

线上测试环境

DEVICE=eno16777736

设置Linux默认历史记录数

命令如下,注意此时的配置仅临时生效。

  1. #设置历史记录数5

  2. [root@oldboy66 ~]# HISTSIZE=5

把配置参数放入配置文件,使得永久生效。

  1. #设置终端超时时间

  2. [root@oldboy66 ~]# echo 'TMOUT=300' >>/etc/profile

  3. #设置历史记录数

  4. [root@oldboy66 ~]# echo 'HISTSIZE=5' >>/etc/profile

  5. #设置文件记录数cat ~/.bash_history

  1. [root@oldboy66 ~]# echo 'HISTFILESIZE=5' >>/etc/profile

TMOUT=10:连接的超时时间控制变量。

HISTSIZE=5:命令行的历史记录数量变量。

HISTFILESIZE=10:历史记录文件的命令行数量变量(~/.bash_history)。

历史记录清空:history -c。

删除指定历史记录:history -d 10(删除10号历史记录)。

1.6 开机启动项优化

[root@kickstart ~]# systemctl list-unit-files|egrep "^ab|^aud|^kdump|vm|^md|^mic|^post|lvm"  |awk '{print $1}'|sed -r 's#(.*)#systemctl disable &#g'|bash

线上正式环境

TYPE=Ethernet

加大服务器文件描述符

文件描述符的概念

1、表示形式为整数数字(0——65535)。

2、进程使用的时候会占用文件描述符(标识打开的文件)。

查看默认文件描述符

  1. [root@oldboy66 ~]# ulimit -n

  2. 1024

3、调整文件描述符

方法一:

直接把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次开机启动的时候生效。

  1. #临时生效

  2. [root@oldboy66 ~]# ulimit -SHn 65535

  1. [root@oldboy66 ~]# ulimit -n

  2. 65535

写入rc.local:

  1. cat >>/etc/rc.local<<EOF
  1. ulimit -HSn 65535

  2. ulimit -s 65535

  3. EOF

方法二:

在/etc/sercurity/limits.conf里面配置。

  1. [root@oldboy66 ~]# echo '* - nofile 65535' >>/etc/security/limits.conf

  2. [root@oldboy66 ~]# tail -1 /etc/security/limits.conf

  3. * - nofile 65536

1.从安装系统开始准备

ONBOOT=yes

调整内核参数文件/etc/sysctl.conf

vim编辑:shift+g切换到文件结尾

优化参数:

  1. net.ipv4.tcp_fin_timeout = 2

  2. net.ipv4.tcp_tw_reuce = 1

  3. net.ipv4.tcp_tw_recycle = 1

  4. net.ipv4.tcp_syncookies = 1

  5. net.ipv4.tcp_keepalive_time = 600

  1. net.ipv4.ip_local_port_range = 4000 65000

  2. net.ipv4.tcp_max_syn_backlog = 16384

  1. net.ipv4.tcp_max_tw_buckets = 36000
  1. net.ipv4.route.gc_timeout = 100
  1. net.ipv4.tcp_syn_retries = 1

  2. net.ipv4.tcp_synack_retries = 1

  1. net.core.somaxconn = 16384

  2. net.core.netdev_max_backlog = 16384

  1. net.ipv4.tcp_max_orphans = 16384
  1. #以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理
  1. #net.nf_conntrack_max = 25000000
  1. #net.netfilter.nf_conntrack_tcp_timeout_established = 180

  2. #net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

  3. #net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

  4. #net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

执行生效:sysctl -p

查看网络状态:netstat -an

安装中添加网卡

BOOTPROTO=none

隐藏Linux版本信息

控制Linux显示版本信息的文件

  1. [root@oldboy66 ~]# cat /etc/issue
  1. CentOS release 6.6 (Final)

  2. Kernel r on an m

  3.    

  4. [root@oldboy66 ~]# cat /etc/issue.net

  5. CentOS release 6.6 (Final)

  6. Kernel r on an m

清空这个两个文件就可以了。

eth0

NETMASK=255.255.255.0

锁定关键系统文件,防止提权被篡改

命令:

  1. [root@oldboy66 ~]# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

解除锁定:chattr -i

ip 10.0.0.210

GATEWAY=192.168.88.2

为grub菜单加密码

为grub菜单加密码的目的是防止他人修改grub做内核等启动设置。

1、先用/sbin/grub-md5-crypt产生一个MD5密码串。

  1. [root@oldboy66 ~]# /sbin/grub-md5-crypt

  2. Password:

  3. Retype password:

  4. $1$T2zU4/$KmlABHIkQGczWjh1DdwWU.

2、修改grub.conf文件添加

password --md5 $1$T2zU4/$KmlABHIkQGczWjh1DdwWU.。

  1. [root@oldboy66 ~]# vim /etc/grub.conf

  2.   1 # grub.conf generated by anaconda

  1.   2 #

  2.   3 # Note that you do not have to rerun grub after making changes

  3.      to this file

  4.   4 # NOTICE: You have a /boot partition. This means that

  5.   5 # all kernel and initrd paths are relative to /boot/,

  6.      eg.

  7.   6 # root (hd0,0)

  8.   7 # kernel /vmlinuz-version ro root=/dev/sda3

  9.   8 # initrd /initrd-[generic-]version.img

  10.   9 #boot=/dev/sda

  11.  10 default=0

  12.  11 timeout=5

  13.  12 splashimage=(hd0,0)/grub/splash.xpm.gz

  14.  13 hiddenmenu

  15.  14 title CentOS 6 (2.6.32-504.el6.x86_64)

  16.  15 root (hd0,0)

  17.  16 kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=UUID=e89

  18.     62baa-4051-4832-b0ee-e27aa74f6374 rd_NO_LUKS rd_NO_LVM LANG=en

  19.     _US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto

  20.      KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

  21.  17 initrd /initramfs-2.6.32-504.el6.x86_64.img

注意:password要加在splashimage和title之间,否则可能不生效。

netmask 24

DNS1=114.114.114.114

禁止Linux系统被ping

命令:

  1. [root@oldboy66 ~]# echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf

  2. #立刻生效

  3. [root@oldboy66 ~]# sysctl -p

gateway 10.0.0.254

DNS2=8.8.8.8

升级具有典型漏洞的软件版本

首先查看相关软件的版本号

  1. [root@oldboy66 ~]# rpm -qa openssl openssh bash

  2. openssl-1.0.1e-30.el6.x86_64

  3. bash-4.1.2-29.el6.x86_64

  4. openssh-5.3p1-104.el6.x86_64

执行升级已知漏洞的软件版本到最新。

  1. [root@oldboy66 ~]# yum install openssl openssh bash

DNS servers 223.5.5.5

IPADDR=192.168.88.100

配置yum源

查看当前yum源

  1. [root@oldboy66 ~]# cat /etc/yum.repos.d/CentOS-Base.repo

配置阿里云的yum源

  1. wget -O /etc/yum.repos.d/CentOS-Base.repo

wget:下载,wget http://url;-O:下载到指定路径并改名;--spider:爬虫,检查网站是不是好的,不会下载只是检查;-T(--timeout):指定超时时间(--timeout=seconds);--tries:指定重试的次数(--tries=2);-q(--quiet):后台下载,关闭输出;

总结:

1、不用root管理,以普通用户的名义通过sudo授权管理。

2、更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改为只监听内网IP。

3、定时自动更新服务器时间,使其和互联网时间同步。

4、配置yum更新域,从国内更新源下载安装软件包。

5、关闭SELinux及iptables(在生产场景中,如果有外部IP一般要打开)

6、调整文件描述符的数量,进程及文件的打开都会消耗文件描述符。

7、定时自动清理邮件目录垃圾文件,防止inodes节点被占满。

8、精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、stsstat)。

9、Linux内核参数优化/etc/sysctl.conf,执行sysctl -p 生效。

10、更改字符集,使其支持中文。

11、锁定关键系统文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,处理后把chattr、lasttr改名。

12、清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。

13、清楚多余的系统虚拟账号。

14、为grub菜单加密码。

15、禁止被ping。

16、升级漏洞软件。

   

less:按屏(空格、page up/page down)或按行(回车)查看文件。

more:按屏(空格)或按行(回车)查看文件,不能向上翻。

eth1

=========================================================================

Linux目录结构

linux只有一个顶点/(根),其他所有目录都在根下。根下面的所有目录是一个有层次的树状结构,像一颗倒挂着的大树。

  1. [root@oldboy66 ~]# tree -L 1 /
  1. /

  2. ├── bin

  3. ├── boot

  4. ├── dev

  5. ├── etc

  6. ├── home

  7. ├── lib

  8. ├── lib64

  9. ├── lost+found

  10. ├── media

  11. ├── mnt

  12. ├── oldboy

  13. ├── opt

  14. ├── proc

  15. ├── root

  16. ├── sbin

  17. ├── selinux

  18. ├── srv

  19. ├── sys

  20. ├── tmp

  21. ├── usr

  22. └── var

tree:显示目录结构,-L:指定显示多少层;-d:只显示目录。

linux的目录结构和磁盘分区是分离的,可以自由组合。

/

├── bin    Essential command binaries

├── boot    Static files of the boot loader

├── dev    Device files

├── etc    Host-specific system configuration

├── home    User home directories(optional)

├── lib    Essential shared libraries and kernel modules

├── lib64

├── lost+found

├── media

├── mnt    Mount point for mounting a filesystem temporarily

├── oldboy

├── opt    Add-on application software packages

├── proc    进程信息及内核信息(cpu、硬盘分区、内存信息等)

├── root    Home directory for the root user(optional)

├── sbin    Essential system binaries

├── selinux

├── srv

├── sys

├── tmp    Temporary files

├── usr    Secondary hierarchy

└── var    Variable data

cat /proc/meminfo    内存信息

cat /proc/cpuinfo cpu信息

cat /proc/mounts     挂载信息

cat /proc/loadavg 负载(系统繁忙程度)

小结:

1、linux系统的所有目录时一个有层次的倒着的树状目录结构,/根是所有目录的起点。

2、不同的目录数据可以跨越不同的磁盘分区或不同的磁盘设备。

/dev/ 设备目录

/etc/ 系统配置即服务配置文件、启动命令的目录

/proc 显示内核及进程信息的虚拟文件系统

/tmp 临时文件目录

/home 普通用户家目录

/root 超级管理员的家目录

/var 变化的目录,一般是日志文件,cache的目录

/usr 用户程序及数据、帮助文件、二进制命令等的目录

/bin、/sbin、/usr/sbin 用户命令的目录

ip 172.16.1.210

配置本地-yum源

Linux重要目录路径

netmask 24

mkdir /etc/yum.repos.d/default

/etc/sysconfig/network-scripts/ifcfg-eth0:配置网络地址及GW等。

  1. [root@oldboy66 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

  2. DEVICE=eth0 #物理设备名,eth1表示第二块网卡

  3. HWADDR=00:0c:29:a6:d7:cb #网卡的MAC地址,48位(克隆后要删除)

  4. TYPE=Ethernet #以太网

  5. UUID=cd11ee91-579f-43be-9074-a14cabe2e0c6 #uuid唯一用户标识(克隆后要删除)

  6. ONBOOT=yes #控制网卡是不是开机启动

  1. NM_CONTROLLED=yes

  2. BOOTPROTO=dhcp #proto值:none,引导时不使用协议;static,静态分配地址;bootp,使用BOOTP协议;dhcp,使用DHCP协议

  1. DNS2=202.106.0.20 #DNS把baidu.com变成baidu服务器IP。DNS域名和IP的解析工具

  2. DNS1=8.8.8.8

  3. USERCTL=no

  4. PEERDNS=yes

  5. IPV6INIT=no

IPADDR=10.0.0.7 #addr是IP地址

NETMASK=255.255.255.0 #子网掩码,划分网络位和主机位10.0.0.0/24

GATEWAY=10.0.0.254 #网关地址,路由器的地址

修改配置生效命令:

  1. [root@oldboy66 ~]# /etc/init.d/network restart #ONBOOT=yes

  2. [root@oldboy66 ~]# ifdown eth0 && ifup eth0 #关闭和启动

ifup:启动

ifdown:关闭

2.统一网络环境

mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/default

/etc/resolv.conf:DNS管理

  1. [root@oldboy66 ~]# cat /etc/resolv.conf

  2. ; generated by /sbin/dhclient-script

  1. search localdomain

  2. nameserver 8.8.8.8

  3. nameserver 202.106.0.20

小结:

1、客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)。

2、客户端DNS也可以在/etc/resolv.conf里设置。

3、网卡里的设置DNS优先于/etc/resolv.conf。

网关都是10.0.0.254

vim /etc/yum.repos.d/local.repo

/etc/hosts:设定用户IP与域名的对应解析表

对应windows的文件C:WindowsSystem32driversetchosts。

  1. [root@oldboy66 ~]# cat /etc/hosts
  1. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

  2. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

  3. 192.168.131.128 oldboy66

hosts在企业里的作用:

1、开发、产品、测试等人员,用于通过正式的域名测试产品。

2、服务器之间的调用可以用域名(内部的DNS),方便迁移。

VMware里-编辑-虚拟网络编辑器-NAT设置-网关IP-10.0.0.254

[local]

/etc/sysconfig/network:修改机器名及网卡启动,网关等配置。

  1. [root@oldboy66 ~]# cat /etc/sysconfig/network

  2. NETWORKING=yes

  3. HOSTNAME=oldboy66

更改主机名:

1、vi /etc/sysconfig/network

2、hostname 主机名

同时修改。

控制面板网络和 Internet网络连接-VMnet8-10.0.253

name=localsrc

/etc/fstab:设置文件系统挂载信息的文件,使得开机能够自动挂载磁盘分区

  1. [root@oldboy66 ~]# df –h #查看磁盘挂载信息

  2. Filesystem Size Used Avail Use% Mounted on

  3. /dev/sda3 7.1G 1.4G 5.4G 21% /

  4. tmpfs 497M 0 497M 0% /dev/shm

  5. /dev/sda1 190M 27M 153M 15% /boot

   

  1. [root@oldboy66 ~]# cat /etc/fstab
  1. UUID=e8962baa-4051-4832-b0ee-e27aa74f6374 / ext4 defaults 1 1

  2. UUID=9782b8eb-4b2d-4919-b3b7-14ee46d04ae8 /boot ext4 defaults 1 2

  3. UUID=60b51f07-216b-4e38-9eee-d3de8d897e01 swap swap defaults 0 0

  4. tmpfs /dev/shm tmpfs defaults 0 0 #挂载的设备 挂载点    挂载文件系统类型    挂载选项(读、写)是否系统备份 是否开机自检查

  5. devpts /dev/pts devpts gid=5,mode=620 0 0

  6. sysfs /sys sysfs defaults 0 0

  7. proc /proc proc defaults 0 0

  8. [root@oldboy66 ~]#

fsck:磁盘检查(不要检查好磁盘),卸载的状态

挂载方式:

1、命令挂载

mount -t ext4 -o noexec /dev/sda1 /mnt

2、/etc/fstab

   

测试手动挂载:

1、创建一个虚拟的块设备。

dd if=/dev/zero of=/dev/sdb1 bs=4906 count=100

2、格式化

mkfs.ext4 /dev/sdb1

3、挂载

mount -t ext4 -o loop,noatime,noexec /dev/sda1 /mnt

4、查看

df -h

第一列挂载的设备可以是设备名或UUID、磁盘标签。

fstab出问题,修复方式:

1、开机提示输入密码修复。

2、救援模式rescue修改/etc/fatab只读状态,mount -o rw,remount /。

2.5服务器ip地址规划

baseurl=file:///mnt

/etc/rc.local:用于存放开机自启动程序命令的文件

让一个程序开机启动:

1、chkconfig(/etc/init.d/sshd)。

2、放入/etc/rc.local。

选择建议:/etc/rc.local,工作中把/etc/rc.local作为服务器档案文件,所有程序开机启动放入/etc/rc.local并加注释。

rc.local与fstab区别:rc.local在系统启动完成最后加载。

NFS网络文件系统挂载是,网卡还没启动,就已经加载fstab。(mount -t nfs 10.0.0.7:/data /mnt)

服务器说明       外网IP(NAT) 内网IP(LAN区段/Host-only) 主机名规划

enabled=1

/etc/inittab:设定系统启动时init进程将把系统设置成什么样的runlevel运行级别及加载相关的级别对应启动文件设置

Linux启动过程:

图片 3

1、开机BIOS自检

2、MBR引导

硬盘0柱面0磁盘1扇区的前446byte。

3、grub引导菜单

cat /etc/grub.conf

4、加载内核kernel

5、启动init进程

ps -ef|grep init

A1-nginx负载服务器01  10.0.0.5/24 172.16.1.5/24 lb01

gpgcheck=0

/etc/init.d

A1-nginx负载服务器02  10.0.0.6/24      172.16.1.6/24 lb02

保存退出vim

/etc/profile:系统全局环境变量永久生效的配置文件

B1-nginx web服务器    10.0.0.7/24 172.16.1.7/24 web02

mount /dev/cdrom /mnt/

/etc/profile.d:登录后执行的脚本所在地

B2-nginx web服务器    10.0.0.8/24 172.16.1.8/24 web01

yum clean all

/etc/motd:登录后显示的字符串

C3-mysql数据库服务器  10.0.0.51/24 172.16.1.51/24 db01

yum makecache

/etc/issue:记录用户登录前显示的系统版本等信息

  1. [root@oldboy66 ~]# cat -n /etc/issue
  1.      1 CentOS release 6.6 (Final)
  1.      2 Kernel r on an m

C1-NFS存储服务器      10.0.0.31/24 172.16.1.31/24 nfs01

=========================================================================

/etc/group:设定用户的组名与相关信息

C2-rsync存储服务器    10.0.0.41/24 172.16.1.41/24 /

永久挂载CD

/etc/passwd:账号信息文件

X-管理服务器   10.0.0.61/24 172.16.1.61/24 m01

vim /etc/fstab

/etc/shadow:密码信息文件

3.系统优化

/dev/cdrom /mnt iso9660 defaults 0 0

/etc/gshadow:组密码信息文件

#所有服务器模板机的基本优化

=========================================================================

/etc/sudoers:可以执行使用sudo命令的配置文件

visudo -c:检查语法

yum remove tree -y:yum删除(会删除依赖,慎用)

cp /etc/hosts{,.bak}

命令自动补全

/var/log/messages:系统日志,自动轮询按周(rsyslog)

cat >/etc/hosts<<EOF

# yum install -y bash-completion

/var/log/secure:安全日志,SSH连接日志

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

=========================================================================

dmesg:内核打印的错误信息,例如硬件故障

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

命令行中文

/var/spool/cron/root:定时任务crond配置文件

172.16.1.5 lb01

# localectl  set-locale LANG=zh_CN.utf8

/proc/mounts:设备挂载信息与df -h类似

172.16.1.6 lb02

=========================================================================

172.16.1.7 web02

安装vim

172.16.1.8 web01

# yum install -y vim

172.16.1.51 db01 db01.etiantian.org

=========================================================================

172.16.1.31 nfs01

关SELinux和防火墙

172.16.1.41 backup

# getenforce

172.16.1.61 m01

# setenforce 0

EOF

# vim /etc/sysconfig/selinux

#0、更改yum源

---SELINUX=disabled

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# systemctl stop firewalld.service

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup

# systemctl disable firewalld.service

mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup

=========================================================================

wget -O /etc/yum.repos.d/CentOS-Base.repo

设置本地时间

wget -O /etc/yum.repos.d/epel.repo

# date -s '2017-05-24 13:26:10'

#yum makecache

# clock -w                        >>> 将变更写入到cmos中

#1、关闭selinuxsed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

=========================================================================

grep SELINUX=disabled /etc/selinux/config

制作周期计划任务(同步时间)

setenforce 0

202.120.2.101  >>>(上海交通大学网络中心NTP服务器地址)

getenforce

# systemctl status crond.service

#2、关闭iptables

# crontab -e

/etc/init.d/iptables stop

# */5 * * * * ntpdate 202.120.2.101

/etc/init.d/iptables stop

=========================================================================

chkconfig iptables off

yum install -y postfix

#3、精简开机自启动服务

yum install -y mailx

export LANG=en

配置好邮箱服务(请看其它笔记)

chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print

=========================================================================

"chkconfig",$1,"off"}'|bash

yum install -y createrepo

chkconfig --list|grep 3:on

=========================================================================

#4、提权oldboy可以sudo

yum install -y net-tools

useradd oldboy

=========================================================================

echo 123456|passwd --stdin oldboy

mkdir /bao

cp /etc/sudoers /etc/sudoers.ori

echo "oldboy ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers

visudo -c

#5、英文字符集

cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori

echo 'LANG="en_US.UTF-8"' >/etc/sysconfig/i18n

source /etc/sysconfig/i18n

echo $LANG

#6、时间同步

echo '#time sync by lidao at 2017-03-08' >>/var/spool/cron/root

echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root

crontab -l

#8、加大文件描述

echo '* - nofile 65535 ' >>/etc/security/limits.conf

tail -1 /etc/security/limits.conf

#9、内核优化

cat >>/etc/sysctl.conf<<EOF

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_keepalive_time = 600

net.ipv4.ip_local_port_range = 4000 65000

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.core.somaxconn = 16384

net.core.netdev_max_backlog = 16384

net.ipv4.tcp_max_orphans = 16384

#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。

net.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_tcp_timeout_established = 180

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

EOF

sysctl -p

#10、安装其他小软件

yum install lrzsz nmap tree dos2unix nc telnet sl -y

#11、 ssh连接速度慢优化sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication

no@g' /etc/ssh/sshd_config

/etc/init.d/sshd reload

4.学会克隆虚拟机

****克隆前准备

1清2删

1清

>/etc/udev/rules.d/70-persistent-net.rules

2删

sed -ri '/UUID|HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth*

sed -i '/IPADDR/s#210$#41#g' /etc/sysconfig/network-scripts/ifcfg-eth*

sed -i "s#$(hoastname)#backup#g" /etc/sysconfig/network

/etc/init.d/network restart

本文由9159.com发布于操作系统,转载请注明出处:使用大于10000的端口号,yes(root用户远程连接)

关键词: