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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值