zoukankan      html  css  js  c++  java
  • Linux创建系统用户

    #!/bin/bash
    
    users_home_front_dir="/data/users/"
    ssh_user=$1
    user_group=$2
    server_user_path=$users_home_front_dir/$user_group
    
    if [ $# -ne 2 ];then
    	echo "usage: ./$0 <ssh-user> <user_group>"
            echo "Example: ./$0  test_user  wwwad"
            exit 1
    fi
    
    if [ ! -d "$users_home_front_dir" ] ; then
    	echo "users_home_front_dir directory="$users_home_front_dir not exists, exit now!
    	exit 1
    fi
    
    function doing() {
     useradd "$user_group" -d "$server_user_path"
     if [ ! -f "$ssh_user"*.pub ] ; then
     ssh-keygen -t rsa -b 2048 -C "$ssh_user" -f "$ssh_user".pem
     fi
     mkdir -p "$server_user_path"/.ssh
     cat ./"$ssh_user".pem.pub >> "$server_user_path"/.ssh/authorized_keys
     chown -R "$user_group"."$user_group" "$server_user_path"/.ssh/
     chmod 600 "$server_user_path"/.ssh/authorized_keys
    }
    
    function checking() {
     check_server_user=`cat /etc/passwd|grep $user_group|grep $server_user_path`
     echo "check_server_user="$check_server_user
     echo "server-user="$user_group
     if [[ "$check_server_user" =~ "$user_group" ]] ; then
     echo "server-user:$user_group" created successfully or already created !
     else 
     echo "server-user:$user_group" created failed !
     exit 1
     fi
    
     check_ssh_user=`cat "$server_user_path"/.ssh/authorized_keys |grep $ssh_user`
     echo "check_ssh_user="$check_ssh_user
     echo "ssh-user="$ssh_user
     if [[ "$check_ssh_user" =~ "$ssh_user" ]] ; then
     echo "ssh-user:$ssh_user created successfully !"
     else
     echo "ssh-user:$ssh_user created failed !"
     exit 1
     fi
    
    }
    
    doing
    checking
    
    sudo chown -R sa.sa  "$ssh_user".pem*
    
    
    名词解释
    ssh_user  	需要创建的系统用户
    user_group  用户所属组,多个系统用户属于一个组。比如sa组具有sudo权限。wwwad组sudo的话是需要输入密码的。	
    			具体的权限控制的sudoer文件里
    这里默认的公钥私钥都是在/home/$ssh_user/.ssh 下面。这里为了安全,我们创建系统用户的时候重新制定其家目录
    server_user_path=$users_home_front_dir/$user_group
    
    加入现在有test1,test2用户都属于一个wwwad的组的话,这里我们可以再客户端设置登录的时候。
    我们以test1,test2,wwwad 的任何一个用户登录都可以
    到时候我们把用户的pem文件发送给开发即可
    
  • 相关阅读:
    vue.config.js的配置与注释
    Git Pages,使用gh-pages分支显示静态网站
    git subtree 公共仓库
    vue之计算属性
    前端模块化AMD和CMD
    jQuery实现表单全选反选,简洁,好用
    vue之点击切换样式
    vue之本地代理解决跨域问题
    ES6
    jQuery 总结
  • 原文地址:https://www.cnblogs.com/smail-bao/p/8006677.html
Copyright © 2011-2022 走看看