用shell批量新建用户
因为采用瘦客户端模式,客户端远程到服务器上进行操作。所以服务器上经常要批量新建用户,并且要使用csh模式(具体可以用 cat /etc/passwd)查看。所以写了个shell脚本,批量新建用户。Line 2,users是一个列表,改成你需要新建的用户名就行了,密码可以使用随机生成,我这里是固定了。
打开terminal, 新建addnewuser
**vi addnewuser
:wq #保存退出**
复制以下内容,将users改成你需要新建的用户名就行了(当中空格分隔)
#!/bin/bash
users=(zs lis ww)
#for i in $(seq 1 2)
for i in ${users[*]};
do
echo "$i"
pw="123456"
#pw=$(openssl rand -base64 8|md5sum|cut -c 1-15)
#openssl rand产生随机数
#或者pw=$(tr -dc "0-9a-zA-Z" < /dev/urandom | head -c 15)
#生成数字大小写,十五位随机数
adduser "$i" -s /bin/csh
#创建用户
echo "$pw" |passwd --stdin $i
#添加密码
#echo "test$i ALL=(ALL) ALL" >> /etc/sudoers
#添加sudo权限
done
运行脚本
还可以增加一行,将.cshrc用户配置文件复制到用户home目录中,实现用户环境配置。
可能你还需要批量关闭锁屏和息屏时间。这个后面一章再说。
添加VNC用户
第一步:安装VNC.
yum install tigervnc-server
第二步:运行脚本. 注意,当中要拷一个passwd文件到用户目录。直接Copy其他用户的passwd就行了,所以说VNC安全性是有问题的,密码不保险。代码注释统一讲了,循环读取系统用户(/etc/passwd),去除掉uid在1000以下,2000以上的(感觉都是系统自带的一些)。剩下的步骤就是把TigerVNC官网的Shell脚本,自动生成就行了。
#!/bin/bash
file="/etc/passwd"
line=`wc -l $file | cut -d" " -f1`
J=1
for I in `seq 1 $line`;do
userid=`head -$I $file |tail -1| cut -d: -f3`
if [ "$userid" -gt "999" ] && [ "$userid" -lt "2000" ];then
echo "$userid"
username=`head -$I $file|tail -1 | cut -d: -f1`
cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver-$username@.service
sed -i "s/<USER>/$username/g" /etc/systemd/system/vncserver-$username@.service
systemctl daemon-reload
mkdir /home/$username/.vnc
\cp -p /home/shell/.vnc/passwd /home/$username/.vnc
chown -R $username:$username /home/$username/.vnc
#chmod -R 755 /home/$username/.vnc
systemctl enable vncserver-$username@:$J.service
systemctl start vncserver-$username@:$J.service
echo "$J---------------"
#mv /home/$username/.vnc/config /home/$username/.vnc/configbak
let J++
fi
#echo "$username has been copied"
done
#echo "there are $line users"
有一段演示视频,关注WX查看。
月浦帮