#!/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文件发送给开发即可

Linux创建系统用户的更多相关文章

  1. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  2. linux创建ftp用户以及指定目录问题

    linux创建ftp用户以及指定目录问题 创建用户命令:如我的目录是根目录下的 MyWeb 用户名:xdh2571 #useradd -G ftp -d /MyWeb -M xdh2571#passw ...

  3. Linux创建高级用户并删除

    Linux创建高级用户并删除 常见window系统可以创建许多用户,但是linux也可以创建许多用户. 方法比window方便简单. (1)添加一个普通用户 :nangong(名字自己取) usera ...

  4. Linux创建普通用户以及权限的分配

    LINUX系统能创建一个普通用户,给开发人员让他们登录吗? 答案:可以. 怎么做? 答案:一般给开发 创建一个目录账户 他要做什么操作 就给什么权限 useradd命令 useradd可用来建立用户帐 ...

  5. Linux创建新用户以及useradd adduser的区别

    从阿里云那弄了个机子玩玩,系统用的是Ubuntu12.04.刚等上去时候是用root登录的,首先想到的就是创建一个用户. 使用 useradd myname 发现/home目录下没有myname的家目 ...

  6. Linux创建其他用户并为之授权

    转载自:https://www.linuxidc.com/Linux/2016-11/137549.htm:加了一些补充说明 前言 笔记本安装了一个CentOS,想要让别人也可以登录访问,用自己的账号 ...

  7. linux创建新用户以及修改密码

    1. 使用root账户创建新用户 useradd webuser 2. 修改新增的用户的密码 passwd webuser 这时候会提示你输入新的密码: 注意:不要用su webuser进入该账户修改 ...

  8. linux创建新用户,可以使用sudo无密码操作

    useradd -d /home/aiuap -m aiuappasswd aiuapXXXXXXXgroupadd aiuapchown -R aiuap:aiuap /home/aiuap chm ...

  9. linux创建新用户

    服务器只用root账号会有风险,最好是每个人使用一个账号. 1. 添加用户名 adduser linuxidc 2. 给这个用户名设置新密码 passwd linuxidc 3.授权 个人用户的权限只 ...

随机推荐

  1. 深入理解JVM内存区域与内存分配

    前言:这是一篇关于JVM内存区域的文章,由网上一些有关这方面的文章和<深入理解Java虚拟机>整理而来,所以会有些类同的地方,也不能保证我自己写的比其他网上的和书本上的要好,也不可能会这样 ...

  2. 很赞的idea教程

    感谢: http://pan.baidu.com/s/1dDEaVxn

  3. cmake常用编译选项

    1.openmp加载,cmake3.9之后内置了openmp find_package(OpenMP) if (OPENMP_FOUND OR OpenMP_CXX_FOUND) set (CMAKE ...

  4. 索引范围扫描(INDEX RANGE SCAN)

    索引范围扫描(INDEX RANGE SCAN)适用于所有类型的B树索引,当扫描的对象是唯一性索引时,此时目标SQL的where条件一定是范围查询(谓词条件为 BETWEEN.<.>等): ...

  5. 〖Linux〗Ubuntu设定Proxy及忽略Proxy

    1. 设定代理:. ~/.proxyenv #!/bin/sh # for terminal export proxyserveraddr=123.123.123.123 export proxyse ...

  6. java 封装02

    //Person.java public class Person{ private String name; private int age; private String sex; public ...

  7. RHEL7-openldap安装配置一(服务器端安装配置)

    LDAP的术语:entry:一个单独的单元,使用DN(distinguish name)区别attribute:entry的属性,比如,如果entry是组织机构的话,那么它的属性包括地址,电话,传真号 ...

  8. 老古董---ASP.NET中aspx页面runat="server"

    自从 mvc3 被广泛的推进生产环境后,这个runat="server" 慢慢被人遗忘了... asp.net 的 webForm 基于控件的 html  渲染过程是否还记得呢?是 ...

  9. 高效编写微信小程序

    原文:https://isux.tencent.com/high-performance-wechat-app-development.html 前言 微信小程序是一个工程,就和盖房子一样,打好了地基 ...

  10. Linux下的二进制兼容性的检测

    都知道Linux的二进制兼容与windows相比简直是天差地别,windows的二进制兼容做得特别好,很老的游戏都能在windows 10上跑,写的好的程序,在XP上也不是不可以.但是Linux就不一 ...