文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>利用dialog在linux中添加用户

利用dialog在linux中添加用户

时间:2011-01-02  来源:《一剑》飘香

#!/bin/bash
# Description:
# Date && Time:2010-12-29  13:04:57
# Author:AIDA_ZYF
# Version:2.6.18-164.el5

NUID=$[`cat /etc/passwd |cut -d: -f3 |grep -v "^65534" |sort -n |tail -1`+1]
NGID=$[`cat /etc/group |cut -d: -f3 |grep -v "^65534" |sort -n |tail -1`+1]
TODAY=$[`date +"%s"`/24/60/60]
show_uname() {
dialog --backtitle "Add a user..." --title "Add a user" --colors --form "\Z1Please input the information of new user.\Z0" 12 40 4 "Username:" 1 1 "" 1 15 15 0
"Fullname:" 2 1 "" 2 15 15 0 "Home Dir:" 3 1 "" 3 15 15 0 "Shell:" 4 1 "" 4 15 15 0 2>/tmp/name.txt
}
show_uname padd() {
dialog --backtitle "Input a passwd..." --title "Input a passwd" --colors --passwordbox "\Z1Please input a password for the new user.\Z0" 7 40 2>/tmp/pass.txt
mkuser
}
mkuser() {
cp -r /etc/skel/ /home/$a
chown -R $a:$a /home/$a
chmod -R go=--- /home/$a
MYPASS=$[`cat /tmp/pass.txt |grep "^[^[:space:]]"`]
echo "$MYPASS" |passwd --stdin $a &>/dev/null
}
uadd() {
declare a b c d
a=`head -1 /tmp/name.txt`
b=`head -2 /tmp/name.txt |tail -1`
c=`head -3 /tmp/name.txt |tail -1`
d=`tail -1 /tmp/name.txt`
if ! cut -d: -f1 /etc/group |grep "^$a" &>/dev/null ;then
  echo "$a:x:$NGID:" >>/etc/group
else
  echo "The group $a is exit."
  exit 1
fi
if ! cut -d: -f1 /etc/passwd |grep "^$a" /etc/passwd &>/dev/null ;then
  echo "$a:x:$NUID:$NGID:$b:$c:$d" >>/etc/passwd
  echo "$a:!!:$TODAY:0:99999:7:::" >>/etc/shadow
else
  echo "The user $a is exits."
  exit 1
fi
wait 1
padd
}
if  grep "^/home/[^[:space:]]" /tmp/name.txt &>/dev/null ;then
  echo "You are right."
  uadd
else
  echo "Plaese try again.."
  exit 1
fi
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载