SHELL之手工创建账号

思路:

涉及到的文件:

1、/etc/passwd

echo“ $ACCOUNT:x:$[$MAXUID+1]:$[$MAXGID+1]::/home/$ACCOUNT:/bin/bash” >>/etc/passwd

2、/etc/shadow

chmod u+w /etc/shadow

echo “$ACCOUNT::::::::”>>/etc/shasow

chmod u-w /etc/shadow

3、/etc/group

echo “$ACCOUNT:x:$[$MAXGID+1]:” >> /etc/group

4、家目录

mkdir /home/$ACCOUNT

cp -a /etc/skel/.  /home/$ACCONT

chown -R $ACCOUNT:$ACCOUNT /home/$ACCOUNT

chmod 700 /home/$ACCOUNT

5、MAIL

touch /var/spool/mail/$ACCOUNT

chmod 660 /var/spool/mail/$ACCOUNT

chown $ACCOUNT:mail /var/spool/mail/$ACCOUNT

6、口令

echo “123” | passwd --stdin $ACCOUNT

执行脚本时,遇到错误的时候最好打开调试开关:bash -x 脚本文件,或者在脚本中可能出现错误的地方添加一条 set -x 指令。

[[email protected] ~]# vim useradd.sh
#!bin/bash
read -p "please input one user : " ACCOUNT
grep -q $ACCOUNT /etc/passwd && echo "the user $ACCOUNT is exist" && exit
#test current max uid and gid
MAXUID=`cut -f3 -d: /etc/passwd |sort -n |tail -n 2 |head -n 1`
if [ $MAXUID -lt 500 ];then
MAXUID=500
fi

#!bin/bash
read -p "please input one user : " ACCOUNT
grep -q $ACCOUNT /etc/passwd && echo "the user $ACCOUNT is exist" && exit
#test current max uid and gid
MAXUID=`cut -f3 -d: /etc/passwd |sort -n |tail -n 2 |head -n 1`
if [ $MAXUID -lt 500 ];then
MAXUID=500
fi

MAXGID=`cut -f4 -d: /etc/passwd |sort -n |tail -n 2 |head -n 1`
if [ $MAXGID -lt 500 ];then
MAXGID=500
fi
#change /etc/passwd
echo "$ACCOUNT:x:$[$MAXUID+1]:$[$MAXGID+1]::/home/$ACCOUNT:/bin/bash" >>/etc/passwd
#change /etc/shawdow
chmod u+w /etc/shadow
echo "$ACCOUNT::::::::" >>/etc/shadow
chmod u-w /etc/shadow
#change /etc/group
echo "$ACCOUNT:x:$[$MAXGID+1]:" >>/etc/group
#create home dir
mkdir /home/$ACCOUNT
cp -a /etc/skel/. /home/$ACCOUNT
chown -R $ACCOUNT:$ACCOUNT /home/$ACCOUNT
chmod 700 /home/$ACCOUNT
#create user mailbox
touch /var/spool/mail/$ACCOUNT
chmod 660 /var/spool/mail/$ACCOUNT
chown -R $ACCOUNT:mail /var/spool/mail/$ACCOUNT
#change user passwd
echo "123" |passwd --stdin $ACCOUNT &>/dev/null

时间: 2024-08-26 23:12:25

SHELL之手工创建账号的相关文章

SHELL之批量创建账号

批量创建账号:提示用户输入第一个用户名(如people1)和最后一个用户名(如people10) [[email protected] ~]# vim useradd2.sh #!/bin/bashread -p "please input first user: " FIRSTUSERread -p "please input last user: " LASTUSERFIRSTNUM=${FIRSTUSER##*[[:alpha:]]} #截取数字LASTNUM

Shell脚本批量创建用户并随机生成密码

要求:批量创建10个系统账号oldboy01-oldboy10,并设置生成密码(密码不同). 实现脚本: #!/bin/bash #Question3 for i in $(seq -w 10) do         useradd -s /bin/bash oldboy$i         echo "password$i" | md5sum | tee -a passwd.txt | passwd --stdin  oldboy$i done 脚本执行效果: [[email pro

手工创建Oracle遇到的几个错误及解决方案

在手工创建Oracle时,会遇到很多的错误,那个过程真是让人想死的心都有了,但是当看到数据库创建成功时,内心真心感到无比的开心啊,现在就将本人所遇到的问题都列举出来希望大家能够共同借鉴,并且相互的学习 错误一: 这是因为当前的用户没有权限,再次进入是运行cmd以管理员登录 错误二: 这里的提示是看了很久的,后面才发现这条语句中间是不能有空格的,所以将password和entries,后面在单独设置密码 (3)   在启动例程时,输入命令出现: 这是因为Oracle已经在运行中,后面将Oracle

3.11 手工创建采购订单价格控制

3.11.1   业务方案描述 对Oracle标准<采购订单>界面进行手工下达时进行价格控制. 对于手工创建采购的订单,不希望通过输入采购价格,而是需要从一揽子采购协议中直接获取价格.如果没有协议价格,需要取该物料的标准成本. 3.11.2   业务方案逻辑控制 1. 单价取值逻辑: 1) 按照订单上的供应商.供应商地点.物料编码自动查找一揽子采购协议,用创建日期与一揽子采购协议上的日期分段匹配价格. 2) 如果找不到,则取一揽子协议行上的价格. 3)如果取不到,取该物料编码标准成本. 4)如

linux下/home文件夹损坏,使用shell快速重新创建

问题描述: 局域网内搭建hadoop环境,节点/home是挂载在单独磁盘上,某次断电原因导致几个节点/home文件系统损坏,无法恢复,只能格式化之后重新挂载/home,然后使用脚本快速恢复hadoop众多用户. 源引:<鸟哥的私房菜>手动创建用户流程: 先创建所需要的群组 ( vi /etc/group ): 将 /etc/group 与 /etc/gshadow 同步化 ( grpconv ): 创建账号的各个属性 ( vi /etc/passwd ): 将 /etc/passwd 与 /e

mysql创建账号

1.创建账号1)只读账号GRANT USAGE ON *.* TO 'testgao_r'@'192.168.1.1' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 14400000 MAX_UPDATES_PER_HOUR 7200000 MAX_CONNECTIONS_PER_HOUR 14400000 MAX_USER_CONNECTIONS 2000;GRANT SELECT, EXECUTE, SHOW VIEW ON `test

iis6手工创建网站后无法运行php脚本

给人搬了十几个网站,老站用西部数码建站助手创建的,现在过期了无法继续创建,只能在Internet 信息服务(IIS)管理器创建网站,创建下来都没问题,但是就是无法打开网站. 测试打开txt文档.静态页面都能打开,一到打开php文件就直接就挂了,无法打开,什么报错都没有. 之前有用iis6以外的服务器创建过网站,都是直接创建就可以运行. 没报错不好找问题,百度用别人的方法操作也不行.实在没办法,只能对着之前用建站助手创建的网站配置,放下架子,一个个看过去,结果发现用建站助手创建的网站ISAPI拓展

手工创建数据库oracle

手工创建数据库(madrid)export ORACLE_SID=madrid 1.创建口令文件orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle 2.创建参数文件vi $ORACLE_HOME/dbs/initmadrid.ora-----------------------------------------------------------db_name='madrid'compatible=11.2.0.4.0sg

CentOS创建账号无法登陆

CentOS测试,创建jack账号,删除时只使用userdel jack,没加参数 账号删除成功,但是对应的home文件夹/home/jack并没有删除. 重新创建账号,设置密码,尝试登陆,提示以下错误: Last failed login: Wed Mar  8 14:05:39 CST 2017 from 10.15.105.20 on ssh:notty There were 8 failed login attempts since the last successful login.