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文件发送给开发即可
Linux创建系统用户的更多相关文章
- linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...
- linux创建ftp用户以及指定目录问题
linux创建ftp用户以及指定目录问题 创建用户命令:如我的目录是根目录下的 MyWeb 用户名:xdh2571 #useradd -G ftp -d /MyWeb -M xdh2571#passw ...
- Linux创建高级用户并删除
Linux创建高级用户并删除 常见window系统可以创建许多用户,但是linux也可以创建许多用户. 方法比window方便简单. (1)添加一个普通用户 :nangong(名字自己取) usera ...
- Linux创建普通用户以及权限的分配
LINUX系统能创建一个普通用户,给开发人员让他们登录吗? 答案:可以. 怎么做? 答案:一般给开发 创建一个目录账户 他要做什么操作 就给什么权限 useradd命令 useradd可用来建立用户帐 ...
- Linux创建新用户以及useradd adduser的区别
从阿里云那弄了个机子玩玩,系统用的是Ubuntu12.04.刚等上去时候是用root登录的,首先想到的就是创建一个用户. 使用 useradd myname 发现/home目录下没有myname的家目 ...
- Linux创建其他用户并为之授权
转载自:https://www.linuxidc.com/Linux/2016-11/137549.htm:加了一些补充说明 前言 笔记本安装了一个CentOS,想要让别人也可以登录访问,用自己的账号 ...
- linux创建新用户以及修改密码
1. 使用root账户创建新用户 useradd webuser 2. 修改新增的用户的密码 passwd webuser 这时候会提示你输入新的密码: 注意:不要用su webuser进入该账户修改 ...
- linux创建新用户,可以使用sudo无密码操作
useradd -d /home/aiuap -m aiuappasswd aiuapXXXXXXXgroupadd aiuapchown -R aiuap:aiuap /home/aiuap chm ...
- linux创建新用户
服务器只用root账号会有风险,最好是每个人使用一个账号. 1. 添加用户名 adduser linuxidc 2. 给这个用户名设置新密码 passwd linuxidc 3.授权 个人用户的权限只 ...
随机推荐
- tcmalloc asan
http://blog.csdn.net/jinzhuojun/article/details/46659155 http://blog.csdn.net/hanlizhong85/article/d ...
- ES6学习笔记十一:编程风格技巧
一:用let取代var 二:静态字符串一律使用单引号或反引号,不使用双引号.动态字符串(模版字符串)使用反引号. 三:解构赋值: 使用数组对变量赋值时,优先使用解构赋值: 函数的参数如果是对象的成员, ...
- Spring学习笔记六:Spring整合Hibernate
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6785323.html 前言:整合概述 Spring整合Hibernate主要是把Hibernate中常用的S ...
- Ant脚本简介与基础知识
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6624003.html 一:Ant是什么 Ant相当于Linux环境下的shell脚本,只不过是用xml文档来 ...
- Installing ODIConsole application using weblogic server
在ODI 创建Java EE Agent时候, 启动Fusion Middleware配置向导创建新域的时候,选择的模板如下,已经包含了 Oracle Data Integrator - Consol ...
- Cocos2d-x执行时错误:Cocos2d: Get data from file(xxx.xxx) failed!
取资源图片时遇到执行时错误: Cocos2d: Get data from file(xxx/xxx.xxx) failed! 原因是我加入资源目录的方式不正确,例如以下图,我选择的是在Resourc ...
- Android 圆角输入框
draweable文件下建立一个名字为shape的XML文件: <shape xmlns:android="http://schemas.android.com/apk/r ...
- C#代码实现邮箱验证C#中及一些常用的正则表达式
.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位: .验证电 ...
- Dockerfile 构建前端node应用并用shell脚本实现jenkins自动构建
cat Dockerfile.node.pre FROM centos MAINTAINER zhao*******h.cn ENV LANG en_US.UTF-8 RUN /bin/cp /usr ...
- null的数据类型
Oracle的NULL代表的含义是不确定,那么不确定的东西也会有确定的数据类型吗?或者换个说法,NULL在Oracle中的默认数据类型是什么,下面就来探讨这个问题. 首先公布答案,NULL的默认类型是 ...