- 浏览: 2513838 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
此工具具有如下功能:
(一)用户管理
1、修改root密码
2、删除用户帐号
3、添加用户帐号
(二)服务管理
1、开启服务
2、关闭服务
(三)防火墙/ssh认证管理
1、关闭默认防火墙,开启自定防火墙脚本(自定义脚本分为:公司环境下,以及互联网环境下)
2、修改ssh认证配置文件(采用publickey认证登录)
(四)自动设置
1、自动添加"互联网环境下"的防火墙
2、采用publickey认证登录
(五)重启功能
所有这些功能都是以函数块做的,大家可以根据自己的需求做出相应的调整以适应自己公司的需求.
开发os:centos5.2
脚本:shell
功能已经基本测试OK,不过。还需要其他朋友挖Bug...
贴些图让大家更直观点:
AutoSetSystem.sh #!/bin/bash ######################################################################### # # File: autosetsystem.sh # Description: # Language: GNU Bourne-Again SHell # Version: 1.1 # Date: 2010-9-6 # WWW: http://5ydycm.blog.51cto.com/ ############################################################################### zzj_key='zzjkey' general_iptable_content="/sbin/iptables -F\n/sbin/depmod -a\n/sbin/modprobe ip_tables\n/sbin/modprobe ip_conntrack\n/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n/sbin/iptables -A INPUT -i lo -j ACCEPT\n/sbin/iptables -P INPUT DROP" public_ip="ip1 ip2 ip3" private_ip="ip1 ip2 ip3 ip4" MainMenu() { clear echo echo "-------------------------------------------------------------------------" tput cup 2 time=`date +"%Y-%m-%d"` echo -ne "USER:$USER\tHOST:$HOSTNAME\tdate:$time" echo tput cup 3 echo "-------------------------------------------------------------------------" tput cup 4 20 echo -e "1:Manage User;" tput cup 5 20 echo -e "2:Manage Services;" tput cup 6 20 echo -e "3:Manage Firewall/SSH;" tput cup 7 20 tput bold echo -e "4:AutoSet;" tput sgr0 tput cup 8 20 echo -e "5:Reboot;" tput cup 9 20 echo -e "6:Quit;" tput cup 10 echo "--------------------------------------------------------------------------" echo -n "You choice [1,2,3,4,5,6]:" read AA case $AA in 1) ManageUser ;; 2) ManageServices ;; 3) ManageFirewall ;; 4) AutoSet ;; 5) echo -n "Are you sure reboot system[y|n]?" read answer if [ $answer == "y" ];then shutdown -r now exit 0 else echo -n "You forego reboot system!" sleep 2 fi ;; *) Quit ;; esac } AutoSet(){ EnableOutFirewall echo -e "\n" PublickeyAuthenticate } AddUser(){ echo -n "Please input add user name:" read username (awk -F':' '{print $1}' /etc/passwd|grep ^$username$) && (echo "Add user faild because user exists!"&&sleep 2)||(useradd $username&&passwd $username&&sleep 2)} DeleteUser(){ echo -n "Please input delete user name:" read username echo -n "Are you sure delete $username[y|n]?" read answer if [ $answer == "y" ];then (awk -F':' '{print $1}' /etc/passwd|grep ^$username$)&&(userdel $username&&echo "user delete sucessfull!"&&sleep 2)||(echo "Delete user faild because user account not exists!"&&sleep 2) else echo -n "You forego delete $username account!" sleep 2 fi } ModifyRootpwd(){ echo -n "Are you sure modify root password[y|n]?" read answer if [ $answer == "y" ];then passwd root sleep 2 else echo -n "You forego modify root password!" sleep 2 fi } ViewUser(){ more /etc/passwd tput bold echo "Wait 8 sec!" sleep 8 tput sgr0 } ManageUserMenu(){ clear echo echo "-------------------------------------------------------------------------" tput cup 2 time=`date +"%Y-%m-%d"` echo -ne "USER:$USER\tHOST:$HOSTNAME\tdate:$time" echo tput cup 3 echo "-------------------------------------------------------------------------" tput cup 4 20 echo -e "1:Add User;" tput cup 5 20 echo -e "2:Delete User;" tput cup 6 20 echo -e "3:Modify root password;" tput cup 7 20 echo -e "4:View User;" tput cup 8 20 echo -e "5:Quit;" tput cup 9 echo "--------------------------------------------------------------------------" echo -n "You choice [1,2,3,4,5]:" read BB case $BB in 1) AddUser ;; 2) DeleteUser ;; 3) ModifyRootpwd ;; 4) ViewUser ;; *) echo "Quit" break ;; esac } EnableServices(){ echo -n "Please input enable service name:" read servicename echo -n "Are you sure enable $servicename[y|n]?" read answer if [ $answer == "y" ];then (chkconfig --list|awk '{print $1}'|grep ^$servicename$)&&(chkconfig --level 345 $servicename on&&echo "service enable sucessfull!"&&sleep 2)||(echo "service enable faild because service not exists!"&&sleep 2) else echo -n "You forego enable $servicename!" sleep 2 fi } DisableServices(){ echo -n "Please input disable service name:" read servicename echo -n "Are you sure disable $servicename[y|n]?" read answer if [ $answer == "y" ];then (chkconfig --list|awk '{print $1}'|grep ^$servicename$)&&(chkconfig --level 345 $servicename off&&echo "service diable sucessfull!"&&sleep 2)||(echo "service disable faild because service not exists!"&&sleep 2) else echo -n "You forego disable $servicename!" sleep 2 fi } ViewServices(){ chkconfig --list tput bold echo "Wait 8 sec!" sleep 8 tput sgr0 } ManageServicesMenu(){ clear echo echo "-------------------------------------------------------------------------" tput cup 2 time=`date +"%Y-%m-%d"` echo -ne "USER:$USER\tHOST:$HOSTNAME\tdate:$time" echo tput cup 3 echo "-------------------------------------------------------------------------" tput cup 4 20 echo -e "1:Enable Services;" tput cup 5 20 echo -e "2:Disable Services;" tput cup 6 20 echo -e "3:View Services;" tput cup 7 20 echo -e "4:Quit;" tput cup 8 echo "--------------------------------------------------------------------------" echo -n "You choice [1,2,3,4]:" read CC case $CC in 1) EnableServices ;; 2) DisableServices ;; 3) ViewServices ;; *) echo "Quit" break ;; esac } EnableCompanyFirewall(){ echo -n "Are you sure enable firewall[y|n]?" read answer if [ $answer == "y" ];then if [ ! -d /scripts ];then mkdir /scripts fi echo -e $general_iptable_content >/scripts/start_firewall.sh for ip in $private_ip do echo "/sbin/iptables -A INPUT -s $ip -p tcp --dport 22 -j ACCEPT" >>/scripts/start_firewall.sh done echo "sh /scripts/start_firewall.sh" >>/etc/rc.local chmod +x /scripts/start_firewall.sh sh /scripts/start_firewall.sh echo "Enable Firewall sucessful!" sleep 3 else echo -n "You forego enable firewall!" sleep 2 fi } EnableOutFirewall(){ echo -n "Are you sure enable firewall[y|n]?" read answer if [ $answer == "y" ];then if [ ! -d /scripts ];then mkdir /scripts fi echo -e $general_iptable_content >/scripts/start_firewall.sh for ip in $public_ip do echo "/sbin/iptables -A INPUT -s $ip -p tcp --dport 22 -j ACCEPT" >>/scripts/start_firewall.sh done echo "sh /scripts/start_firewall.sh" >>/etc/rc.local chmod +x /scripts/start_firewall.sh sh /scripts/start_firewall.sh echo "Enable Firewall sucessful!" sleep 3 else echo -n "You forego enable firewall!" sleep 2 fi } FirewallEnvMenu(){ clear echo echo "-------------------------------------------------------------------------" tput cup 2 time=`date +"%Y-%m-%d"` echo -ne "USER:$USER\tHOST:$HOSTNAME\tdate:$time" echo tput cup 3 echo "-------------------------------------------------------------------------" tput cup 4 20 echo -e "1:Enable Company Env Firewall;" tput cup 5 20 echo -e "2:Enable Out Env Firewall;" tput cup 6 20 echo -e "3:Quit;" tput cup 7 echo "--------------------------------------------------------------------------" echo -n "You choice [1,2,3]:" read EE case $EE in 1) EnableCompanyFirewall ;; 2) EnableOutFirewall ;; *) echo "Quit" break ;; esac } CustomizeFirewall() { while true do FirewallEnvMenu done } PublickeyAuthenticate() { echo -n "Are you sure enable publickey auth[y|n]?" read answer if [ $answer == "y" ];then if [ ! -d /root/.ssh ];then mkdir /root/.ssh fi touch /root/.ssh/authorized_keys echo $zzj_key >/root/.ssh/authorized_keys cp /etc/ssh/sshd_config /tmp/sshd_config_bak sed 's/^PasswordAuthentication yes$/PasswordAuthentication no/' /etc/ssh/sshd_config > /etc/ssh/tmp_sshd_config sed 's/^#PubkeyAuthentication yes$/PubkeyAuthentication yes/' /etc/ssh/tmp_sshd_config > /etc/ssh/tmp1_sshd_config sed 's/^#AuthorizedKeysFile/AuthorizedKeysFile/' /etc/ssh/tmp1_sshd_config > /etc/ssh/tmp_sshd_config rm -fr /etc/ssh/sshd_config rm -fr /etc/ssh/tmp1_sshd_config mv /etc/ssh/tmp_sshd_config /etc/ssh/sshd_config kill -HUP `cat /var/run/sshd.pid` echo "Please use public key try login agains!" sleep 5 else echo -n "You forego publickey auth!" sleep 2 fi } ManagerFirewallMenu(){ clear echo echo "-------------------------------------------------------------------------" tput cup 2 time=`date +"%Y-%m-%d"` echo -ne "USER:$USER\tHOST:$HOSTNAME\tdate:$time" echo tput cup 3 echo "-------------------------------------------------------------------------" tput cup 4 20 echo -e "1:Enable Customize Firewall;" tput cup 5 20 echo -e "2:Enable Publickey Authenticate;" tput cup 6 20 echo -e "3:Quit;" tput cup 7 echo "--------------------------------------------------------------------------" echo -n "You choice [1,2,3]:" read DD case $DD in 1) CustomizeFirewall ;; 2) PublickeyAuthenticate ;; *) echo "Quit" break ;; esac } ManageUser () { while true do ManageUserMenu done } ManageServices(){ while true do ManageServicesMenu done } ManageFirewall() { while true do ManagerFirewallMenu done } Quit() { echo "Quit" break } while true do MainMenu done
发表评论
-
Linux运维常用命令 (转载)
2013-01-31 10:23 24881 删除0字节文件find-type f - ... -
[汇总]shell笔试
2013-01-24 17:32 3324http://president.blog.51cto.co ... -
检测 mysql 的sleep进程数
2013-01-04 14:13 1597#!/bin/sh 注:这个脚 ... -
【汇总】shell show收藏
2012-11-29 14:03 1228================== shell从文本取对应的 ... -
Shell中脚本变量和函数变量的作用域
2012-11-28 16:21 1339在shell中定义函 ... -
你可能不知道的Shell
2012-11-26 13:41 977!$ !$是一个特殊的环境变量,它代表了上一个命令的 ... -
批量修改远程linux服务器密码
2012-11-14 17:49 1503#!/bin/bash # BY kerryhu # MA ... -
清理/var/spool/clientmqueue目录下文件
2012-11-08 10:52 1105今天遇到和原文作者完全一样的情况:有一台机器需要改一下cron ... -
read case
2012-11-01 16:55 924read -p "请输入安装程序编号:" ... -
shell实现将2个文件逐行交替存入一个文件中
2012-10-24 15:31 1579#!/bin/bash P ... -
关于shell脚本编程的10个最佳实践
2012-09-20 11:37 1528每一个在UNIX/Linux上工作的程序员 可能都 ... -
导出bin log时间段脚本datarecover.sh
2012-09-06 13:34 1193修改 _binlogdir='/data/mysql/m ... -
增量文件内容other.php
2012-08-31 16:13 1157#增量文件内容other.php i ... -
Linux一个简单的每秒执行命令shell脚本
2012-08-17 15:02 3266迁移了一台服务器,发现其中一个项目的数据没有更新,查询原服务器 ... -
[sh]php进程数过载后,平滑重启php
2012-07-27 11:24 2938#vim /usr/local/shell ... -
[sh]每天推送本地日志到log服务器
2012-07-27 11:24 1395#vim /u1/scp_all_logs ... -
慢查询日志分析脚本Mysql_slow_log_parser.pl
2012-07-03 13:43 1470使用方式: ./Mysql_slow_log_parser ... -
UNIX高手的20个习惯
2012-06-29 12:02 13861. 在单个命令中创建目 ... -
【书】linux shell 脚本攻略
2012-06-27 17:39 1865转载:http://jackyrong.iteye.com/b ... -
Linux磁盘空间监控的Shell脚本
2012-06-27 16:24 2789偶尔的测试失败,找了会儿原因才发现是磁盘空间不足引起的,所以就 ...
相关推荐
13.Linux下自动化运维企业案例.mp4 14.Linux系统增量备份脚本.mp4 15.自动收集服务器硬件系统信息脚本.mp4 16.Shell编程之磁盘监控报警脚本_0.mp4 17.Shell批量监控服务发送邮件报警.mp4 18.Shell编程之实战WEB界面...
14、Linux下自动化运维企业案例.mp4 13、Linux系统增量备份脚本.mp4 12、Shell编程四剑客及案例详解.mp4 11、Shell编程之SED及GREP综合讲解.mp4 10、Linux下深入编程之函数及数组编程.mp4 09、Shell编程之函数及案例...
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。
Bash 是一种广泛使用的...Bash 作为一个强大的命令行工具,不仅用于日常的文件管理和系统操作任务,而且在自动化脚本、任务调度和高级编程方面也非常有用。它的灵活性和易用性使其成为开发者和系统管理员的首选 shell。