早在今年年初写过一个简单的初始化脚本,现在进行详细更新,具体如下
# !/bin/bash
# author : hobby
# Centos7.5 initializes the script
# 删除自带基础源
sudo rm -rf /etc/yum.repos.d/CentOS-*
# 获取阿里源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清除原有yum源并重新生成缓存
sudo yum clean all && yum makecache
# 临时关闭及永久关闭selinux
sudo setenforce 0
sudo sed -i.ori 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 关闭firewalld并去除开机自启
sudo systemctl stop firewalld && sudo systemctl disable firewalld
# 清除iptables所有规则
iptables -t nat -F
iptables -F
# 安装常用应用
sudo yum install -y epel-release netools vim lsof wget htop lrzsz
# 添加自定义快捷键
sed -i "\$a alias c='clear'" ~/.bashrc
alias c='clear'
# 创建用户和密码
read -p "Do you wang to add user ? (please input y or n) " select
if [[ $select =~ "y" || $select =~ "Y" || $select =~ "yes" || $select =~ "YES" ]];then
read -p "please setting username : " name
echo -n "please setting passwd : "
read -s passwd
adduser $name
# 判断用户是否创建成功
if [ $? -eq 0 ];then
echo "user ${name} is created successfully!!!"
else
echo "user ${name} is created failly!!!"
exit 1
fi
echo $passwd | sudo passwd $name --stdin &>/dev/null
# 判断密码是否创建成功
if [ $? -eq 0 ];then
echo "${name}'s password is set successfully"
else
echo "${name}'s password is set failly!!!"
fi
else
break
fi
# 修改sudoer文件
sudo cat >>/etc/sudoers<<EOF
Runas_Alias OP = root, daemon
Cmnd_Alias SYSTEM = /bin/rm -rf /, /bin/rm -rf *, /bin/rm -rf ., /bin/rm -rf ./*, /bin/passwd, /sbin/reboot, /sbin/shutdown, /sbin/iptables, /bin/cat /etc/sudoers, /bin/vi /etc/sudoers, /bin/vim /etc/sudoers, /bin/vi /etc/passwd, /bin/vim /etc/passwd, /bin/cat /etc/passwd, /bin/vi /etc/shadow, /bin/vim /etc/shadow, /sbin/mkfs, /sbin/mkfs.ext2, /sbin/mkfs.ext3, /sbin/mkfs.ext4, /sbin/mkfs.xfs, /sbin/parted, /sbin/fdisk, /sbin/useradd, /sbin/adduser, /sbin/userdel, /bin/mv /*, /bin/mv /, /sbin/groupadd, /sbin/groupdel, /sbin/chkconfig, /bin/mount, /bin/umount, /sbin/visudo, /bin/su, /bin/cat /etc/shadow, /usr/bin/chattr, /bin/super
root ALL=(ALL) ALL
admin ALL= NOPASSWD: ALL, !SYSTEM
%operations ALL=(OP) NOPASSWD: ALL, !SYSTEM
%developers ALL=(OP) NOPASSWD: ALL, !SYSTEM
Cmnd_Alias OPS_SUDO = /bin/*, /sbin/*, /usr/bin/*, /usr/sbin/*
ops ALL = (root) NOPASSWD: OPS_SUDO
dev ALL = (root) NOPASSWD: OPS_SUDO
daemon ALL = (root) NOPASSWD: OPS_SUDO
EOF
echo "Initialization complete......"