zoukankan      html  css  js  c++  java
  • jdk 自动化脚本

    添加没有登录权限

    需要理解linux用户,首先登陆的是root用户,拥有所有的权限,但是该权限太大,一般都会分配其他用户使用,并且在部署程序时,需要分配一个没有登录权限的用户,这样改程序不能随意被修改,如何添加没有登录权限的用户和用户组如下:

    1. groupadd groupname
      useradd -g groupname username -s /bin/false //-s为默认shell,不给shell,也就不能登录
    2. groupadd groupname
      useradd -g groupname username -s /sbin/nologin //-s为默认shell,默认给予shell,但是不给登录shell

    脚本

    先给出脚本 (java.sh 脚本名称):

    #!/bin/sh
    
    app_User=ice-app
    App_Group=app
    
    # 安装文件
    Java_Install_File=jdk-8u192-linux-x64.tar.gz
    #Java 目录名称
    Java_File_Name=jdk1.8.0_192
    # 应用程序目录
    Java_Home_Opt=/opt
    # 
    Java_Home_App=/opt/jdk1.8.0_192
    # 解压Java文件
    install(){
            echo "Install Java..."
            sudo tar zxvf $Java_Install_File
            #移动Java程序到opt目录下
            sudo mv $Java_File_Name $Java_Home_Opt
            #create group if not exists  
            egrep "^$App_Group" /etc/group >& /dev/null
            if [ $? -ne 0 ]
            then
                    echo "Creating Application Group:"$App_Group
                    sudo groupadd -f $App_Group
            fi
            #create user if not exists  
            egrep "^$app_User" /etc/passwd >& /dev/null
            if [ $? -ne 0 ]
            then
                    echo "Creating Application User:"$app_User
                    sudo useradd -g $App_Group -d /home/$app_User -m -s /bin/false -r $app_User
            fi
            #设置目录权限
            echo "Set The Permission For User: "$app_User
            sudo chown -R $app_User $Java_Home_App
            sudo chmod -R o+w $Java_Home_App
            # 追加Java环境变量
            echo '# java environment param' >> /etc/profile
            echo "export JAVA_HOME=$Java_Home_App" >> /etc/profile
            echo 'export JRE_HOME=$JAVA_HOME/jre' >> /etc/profile
            echo 'export PATH=$JAVA_HOME:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH' >> /etc/profile
    
            # 刷新配置文
            source /etc/profile
    }
    # 删除Java jdk程序
    uninstall(){
            # 删除/etc/profile 环境变量
            sed -i "/export JAVA_HOME=/d" /etc/profile
            sed -i '/export JRE_HOME/d' /etc/profile
            sed -i '/export PATH=$JAVA_HOME/d' /etc/profile
             # 删除文件
            sudo rm -rf $Java_Home_App
            # 刷新配置文
            source /etc/profile
    }
    ###################################
    #读取脚本的第一个参数($1),进行判断
    #参数取值范围:{install|uninstall}
    #如参数不在指定范围之内,则打印帮助信息
    ###################################
    case "$1" in
            'install')
             install
             ;;
            'uninstall')
             uninstall
             ;;
             *)
            echo "Usage: $0 {install|uninstall}"
    esac
      exit                
    

    需要将脚本变为可执行文件
    chmod +x java.sh

    使用脚本
    ./java.sh install 部署程序
    ./java.sh uninstall 卸载程序

    程序完成功能
    install功能:

    1. 解压脚本
    2. 当用户和用户组不存在时,添加用户和用户组
    3. 添加环境变量并刷新配置文件

    uninstall功能:
    1.删除环境变量并刷新配置文件
    2.删除java文件

    注意: jdk-8u192-linux-x64.tar.gz文件需要和java.sh放在一起,才能够完成部署
    jdk1.8.0_192是tar解压之后的文件,这个文件解压时可以指定,没有指定,则使用默认文件。

    编辑脚本思路

    1. 编辑该Java脚本思路,首先是需要肯定是要部署一遍,知道部署的步骤,一上来就写脚本,是肯定不行的
    2. 理解脚本的语法 : sed '/匹配内容/d' 文件名 表示删除某行内容
      echo '内容' >> 文件名 表示向文件追加内容
  • 相关阅读:
    XML与JSON的区别?各自有哪些优缺点?
    js数组操作(增、删、改、查)
    Ajax缓存原理
    Ajax的跨域问题分析
    简单理解javascript的闭包
    CSS的导入方式:link与import方式的区别
    谈谈iframe的优缺点
    winform全局异常捕获
    Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析
    解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
  • 原文地址:https://www.cnblogs.com/skyice/p/10080662.html
Copyright © 2011-2022 走看看