百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

详解Linux系统标准化设置--脚本一键设置,值得收藏

nanshan 2024-10-15 11:31 55 浏览 0 评论

概述

Linux有很多标准化的内容,这里总结了下用一键脚本来设置,下面的命令请看懂后再执行。


Linux自动化部署需求

系统环境标准化

  • 标准化 - 字符集
  • 标准化 - 命令行
  • 标准化 - 内核参数
  • 标准化 - 系统参数

分区标准化

  • 标准化 - 标准化分区

系统配置标准化

  • 标准化 - YUM环境
  • 标准化 - 系统服务
  • 标准化 - 主机名
  • 标准化 - VIM
  • 标准化 - 用户
  • 标准化 - SSH
  • 标准化 - 时间
  • 标准化 - Selinux
  • 标准化 - 关闭ctrl+alt+del快捷键

软件标准化

  • 标准化 - 基础软件包
  • 标准化 - 常用软件包
  • 标准化 - 设置公钥

01

系统环境标准化

1、系统环境标准化 - 字符集

需求:字符集设置 en_US.utf8

一键优化脚本配置

Centos 7.x

#update system character
localectl set-locale LANG=en_US.utf8

注意 Centos 6 和 Centos 7 之间配置的差异

2、系统环境标准化 - 命令行

需求:配置shell,便于定位当前目录

一键优化脚本

#modify PS1
echo 'export PS1="[ \033[01;33m\u\033[0;36m@\033[01;34m\h \033[01;31m\w\033[0m ]\033[0m \n#"' >> /etc/profile

3、系统环境标准化 - 内核参数

需求:优化网卡+优化swap

一键优化脚本配置

#tune kernel parametres
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_fin_timeout = 30
vm.swappiness=10
vm.max_map_count = 262144
EOF

4、系统环境标准化 - 系统参数

需求:打开文件描述符

一键优化脚本配置

#set the file limit
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF

02

分区标准化

1、分区标准化 - 标准化分区

需求:

  • 虚拟机或服务器
/boot 200M~1G
/swap 1G~8G
/ 剩余全部
  • Oracle服务器
/boot 200M~1G
/swap >16G
/ 40G
/data(Oracle数据目录) 剩余全部

03

系统配置标准化

1、系统配置标准化 - YUM环境

需求:

  • 使用内网YUM源
  • 如无内网YUM源,配置外网YUM源

一键优化脚本

假设没有内网repo,就配置阿里YUM源

#clean OS default repo
mkdir /etc/yum.repos.d/old && mv /etc/yum.repos.d/C* /etc/yum.repos.d/old/
#add repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
function_writelog_judgment "[add aliyun mirrors base]"

2、系统配置标准化 - 系统服务

需求:关闭无用服务

一键优化脚本

Centos 7.x

目前无优化方案

Centos 6.x

#set system start service
LANG=en
for chkoff in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $chkoff off;done 
for chkoff in crond network rsyslog sshd;do chkconfig --level 3 $chkoff on;done

3、系统配置标准化 - VIM

需求:VIM基础配置,并增加易读性

一键优化脚本(结尾拷贝到普通用户环境变量)

#modify vimrc
cat >> /root/.vimrc << EOF
syntax enable
syntax on
set ruler
set number
set cursorline
set cursorcolumn
set hlsearch
set incsearch
set ignorecase
set nocompatible
set wildmenu
set paste
set nowrap
set expandtab
set tabstop=2
set shiftwidth=4
set softtabstop=4
set gcr=a:block-blinkon0
set guioptions-=l
set guioptions-=L
set guioptions-=r
set guioptions-=R
highlight CursorLine cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
highlight CursorColumn cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
EOF
cp /root/.vimrc /home/oracle/

4、系统配置标准化 - 用户

需求:

  • 建立日常管理用户
  • 为用户设置sudo权限
  • 所有用户使用相同密码(无CMDB情况下)
  • 用户设置强密码

一键优化脚本

#add default user
useradd hwb -u 2019
echo 'hwb@)!&' | passwd --stdin hwb && history -c 
#set sudo authority
echo "" >> /etc/sudoers
echo "#set sudo authority" >> /etc/sudoers
echo "hwb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

5、系统配置标准化 - SSH

需求:

  • 禁止Root远程登录
  • 关闭DNS解析
  • 不允许空密码
  • 修改SSH默认端口
  • 关闭GSSAPI校验

一键优化脚本

\cp /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +%F`
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
sed -i 's%#PermitRootLogin yes%PermitRootLogin no%g' /etc/ssh/sshd_config
sed -i 's%#PermitEmptyPasswords no%PermitEmptyPasswords no%g' /etc/ssh/sshd_config
#sed -i 's%#Port 22%Port 52020%g' /etc/ssh/sshd_config

6、系统配置标准化 - 时间

需求

  • 所有服务器每分钟与时间服务器进行同步

一键优化脚本

 echo "* 4 * * * /usr/sbin/ntpdate ${ntp_server}> /dev/null 2>&1" >> /var/spool/cron/root

7、系统配置标准化 - Selinux

需求:关闭selinux

一键优化脚本

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

8、系统配置标准化 - 关闭ctrl+alt+del快捷键

需求:关闭ctrl+alt+del快捷键

一键优化脚本

centos 7.x

mv /usr/lib/systemd/system/ctrl-alt-del.target /usr/lib/systemd/system/ctrl-alt-del.target.bak

centos 6.x

mv /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.conf.bak

04

软件标准化

1、软件标准化 - 常用软件包

需求:安装常用软件

一键优化脚本

yum -y install ntp wget tree telnet sysstat sysstat iptraf ncurses-devel openssl-devel zlib-devel OpenIPMI-tools nmap screen

2、软件标准化 - 升级软件包

需求:升级当前软件包

一键优化脚本

yum -y update

3、配套软件标准化 - 公钥(管理机免密钥)

需求:

  • 设置管理机(Ansible)的公钥
  • 便于上线后,进行个性化配置(配置文件修改)

一键优化脚本

wget http://xx.xx.xx.xx/ansible_key -O /tmp/ansible_key
cat /tmp/ansible_key >> /home/hwb/.ssh/authorized_keys
rm -f /tmp/ansible_key

篇幅有限,这块就先介绍到这了,如果大家想做公司标准化这一块,建议还是根据公司实际情况去具体设置,最后再根据需求统一写成一个shell脚本,这样一个标准化的脚本就建立起来了。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

相关推荐

F5负载均衡器如何通过irules实现应用的灵活转发?

F5是非常强大的商业负载均衡器。除了处理性能强劲,以及高稳定性之外,F5还可以通过irules编写强大灵活的转发规则,实现web业务的灵活应用。irules是基于TCL语法的,每个iRules必须包含...

映射域名到NAS

前面介绍已经将域名映射到家庭路由器上,现在只需要在路由器上设置一下端口转发即可。假设NAS在内网的IP是192.168.1.100,NAS管理端口2000.你的域名是www.xxx.com,配置外部端...

转发(Forward)和重定向(Redirect)的区别

转发是服务器行为,重定向是客户端行为。转发(Forward)通过RequestDispatcher对象的forward(HttpServletRequestrequest,HttpServletRe...

SpringBoot应用中使用拦截器实现路由转发

1、背景项目中有一个SpringBoot开发的微服务,经过业务多年的演进,代码已经累积到令人恐怖的规模,亟需重构,将之拆解成多个微服务。该微服务的接口庞大,调用关系非常复杂,且实施重构的人员大部分不是...

公司想搭建个网站,网站如何进行域名解析?

域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转...

域名和IP地址什么关系?如何通过域名解析IP?

一般情况下,访客通过域名和IP地址都能访问到网站,那么两者之间有什么关系吗?本文中科三方针对域名和IP地址的关系和区别,以及如何实现域名与IP的绑定做下介绍。域名与IP地址之间的关系IP地址是计算机的...

分享网站域名301重定向的知识

网站域名做301重定向操作时,一般需要由专业的技术来协助完成,如果用户自己在维护,可以按照相应的说明进行操作。好了,下面说说重点,域名301重定向的操作步骤。首先,根据HTTP协议,在客户端向服务器发...

NAS外网到底安全吗?一文看懂HTTP/HTTPS和SSL证书

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry搭好了NAS,但是不懂做好网络加密,那么隐私泄露也会随时发生!大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数...

ForwardEmail免费、开源、加密的邮件转发服务

ForwardEmail是一款免费、加密和开源的邮件转发服务,设置简单只需4步即可正常使用,通过测试来看也要比ImprovMX好得多,转发近乎秒到且未进入垃圾箱(仅以Mailbox.org发送、Out...

使用CloudFlare进行域名重定向

当网站变更域名的时候,经常会使用域名重定向的方式,将老域名指向到新域名,这通常叫做:URL转发(URLFORWARDING),善于使用URL转发,对SEO来说非常有用,因为用这种方式能明确告知搜索引...

要将端口5002和5003通过Nginx代理到一个域名上的操作笔记

要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:步骤说明创建或编辑Nginx配置文件通常配置文件位于/etc/nginx/sites...

SEO浅谈:网站域名重定向的三种方式

在大多数情况下,我们输入网站访问网站的时候,很难发现www.***.com和***.com的区别,因为一般的网站主,都会把这两个域名指向到同一网站。但是对于网站运营和优化来说,www.***.com和...

花生壳出现诊断域名与转发服务器ip不一致的解决办法

出现诊断域名与转发服务器ip不一致您可以:1、更改客户端所处主机的drs为223.5.5.5备用dns为119.29.29.29;2、在windows上进入命令提示符输入ipconfig/flush...

涨知识了!带你认识什么是域名

1、什么是域名从技术角度来看,域名是在Internet上解决IP地址对应的一种方法。一个完整的域名由两个或两个以上部分组成,各部分之间用英文的句号“.”来分隔。如“abc.com”。其中“com”称...

域名被跳转到其他网站是怎么回事

当你输入域名时被跳转到另一个网站,这可能是由几种原因造成的:一、域名可能配置了域名转发服务。无论何时有人访问域名,比如.com、.top等,都会自动重定向到另一个指定的URL,这通常是在域名注册商设...

取消回复欢迎 发表评论: