📄 adduser
字号:
#!/bin/csh## adduser - simple script to add a new user. To execute# simply type adduser. Only root can run this script# successfully.# #onintr quit:#set freedisk=100# directory containing sample . filesset skeldir=/usr/local/adm/skel#set passwdfile=/etc/passwdset groupfile=/etc/groupset phonelist=/usr/local/pub/phonelist##set local_host=`hostname`## get login, look for conflicts in /etc/passwd# and /usr/lib/aliases#set msg="enter login name, must be <= 8 characters"echo "junk" > /tmp/AD1$$echo "junk" > /tmp/AD2$$set aliasdone = noset good = nowhile ( ${good} == no ) echo ${msg} set dollar=$ set login=$<# look for it in the passwd file awk -F: '{print $1}' /etc/passwd | grep "^${login}${dollar}" \ > /tmp/AD1$$ if (! (-z /tmp/AD1$$)) then set msg="already used in passwd file, try again" else# look for it in the /usr/lib/aliases file fgrep ':' /usr/lib/aliases | awk -F: '{print $1}' | \ grep "^${login}${dollar}" > /tmp/AD2$$ if (! (-z /tmp/AD2$$)) then echo -n "already used in aliases file, entry is: " grep "^${login}:" /usr/lib/aliases echo -n "is that ok ??? " set answer = $< if (${answer} == n) then set msg="then try again, enter login id" else set good = yes set aliasdone = yes endif else set good = yes endif endifendrm /tmp/AD1*rm /tmp/AD2*## get uid (biggest uid+1)#set uid=`sort -t: -nr +2 /etc/passwd | sed '1q' | awk -F: '{print $3}'` @ uid++## get gid (group)#set gidset nullset msg="enter unix group"while ( ${gid} == ${null}) echo ${msg} set group=$< set gid=`grep "^${group}:" /etc/group | awk -F: '{print $3}'` set msg="group not in group file, try again"end## get parent directory# set up home#set good=noset msg="enter location of home dir "echo ${msg}set top=$<set home = /${top}/${login}## get finger info#echo "enter users full name, campus address, campus phone, home phone"set finger = $<#set entry="${login}::${uid}:${gid}:${finger}:${home}:/bin/csh"#echo " "echo login" "${login}echo group" "${group}echo uid" "${uid}echo gid" "${gid}#echo home" "${home}echo " "##echo passwd entry is:echo ${entry}echo " "#set a=necho "continue?(y/n) (last chance before scribbling on files)" set a=$<if ( $a == n ) exit## add entry to passwd file#echo making passwd entry echo ${entry} >> $passwdfile## add name to group file# echo making group entryset scpt=/^${group}/s/\$/,${login}/echo ${scpt} > /tmp/ADD$$sed -f /tmp/ADD$$ /etc/group > /tmp/newgroup$$rm /tmp/ADD$$mv /tmp/newgroup$$ $groupfile### add to the phonelist#echo making phonelist entryecho ${login}" "${finger} >> ${phonelist}## make users home, copy in skeleton files#echo making home directorymkdir ${home}cp ${skeldir}/.login ${skeldir}/.logout ${skeldir}/.cshrc \ ${skeldir}/.exrc ${skeldir}/.mailrc ${home}find ${home} -exec chown ${login} {} \; -exec chgrp ${group} \;### set passwd#passwd ${login}quit: rm -f /tmp/*$$
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -