首页 > 其他 > 详细

一个面面俱到的添加用户的脚本

时间:2019-10-22 00:00:19      阅读:72      评论:0      收藏:0      [点我收藏+]

添加个用户,再添加同名的用户组,并贴心的创建了家目录。连profile,bashrc这样的配置文件也一并复制过来了,家目录的权限也都属于用户。当场更改用户密码,允许设置登录shell。这供应象不像为某应用程序添加运行用户的场景?最后重申,必须以root账户运行。


#!/bin/bash

#dduser--Adds a new user to the system, including building their home
pwfile="/etc/passwd"
shadowfile="/etc/shadow"
gfile="/etc/group"
hdir="/home"

if [ "$(id -un)" != "root" ] ; then
  echo "Error: You must be root to run this command." >&2
  exit 1
fi

echo "Add new user account to $(hostname)"
echo -n "login: "     ; read login

uid="$(awk -F: ‘{ if (big < $3 && $3 < 5000) big=$3 } END { print big + 1 }‘ $pwfile)"
homedir=$hdir/$login

# We are giving each user their own group, so gid=uid
gid=$uid #建立用户组
echo -n "full name: " ; read fullname
echo -n "shell: "     ; read shell
echo "Setting up account $login for $fullname..."
echo ${login}:x:${uid}:${gid}:${fullname}:${homedir}:$shell >> $pwfile
echo ${login}:*:11647:0:99999:7::: >> $shadowfile
echo "${login}:x:${gid}:$login" >> $gfile

mkdir $homedir   #建立家目录
cp -R /etc/skel/.[a-zA-Z]* $homedir  #将.bashrc,.profile之类的配置文件模板也一并复制到家目录里
chmod 755 $homedir
chown -R ${login}:${login} $homedir #更改家目录权限属于用户自己

# Setting an initial password
exec passwd $login

运行结果如下:

[root@localhost opt]# ./adduser.sh
Add new user account to localhost.localdomain
login: lv
full name: lvdongbing
shell: /bin/bash
Setting up account lv for lvdongbing...
更改用户 lv 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

一个面面俱到的添加用户的脚本

原文:https://www.cnblogs.com/xyz999/p/11717222.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!