-
Ubuntu下通过shell脚本批量新建用户并设置默认密码
2020-12-29 16:55:18其实我本人根本不会用shell脚本,只会一点点linux的指令 本着拿来主义的精神,原作者写的脚本我修修改改就拿来用了 先上代码test_user_add.sh for username in $(more users.list) do if [ -n $use...在 linux用户名和用户组的操作笔记 中,我介绍了如何通过命令行新建用户
但是,事实上,学院又很多很多很多学生和老师,我不可能一个个为它们新建用户,最好有一个脚本可以实现批量新建用户
本文参考 Linux下批量添加用户的两种方法
其实我本人根本不会用shell脚本,只会一点点linux的指令
本着拿来主义的精神,原作者写的脚本我修修改改就拿来用了
先上代码 test_user_add.sh
for username in $(more users.list) do if [ -n $username ] then useradd -d /home/$username -s /bin/bash -m $username echo # echo $ username"123" | paswd --stdin $username echo "$username:123456" | chpasswd echo echo "User $username's password has been changed!" else echo "The username is null!" fi done
原文中的--stdin,在Ubuntu下无法使用
echo $ username"123" | paswd --stdin $username
需要修改为
echo "$username:123456" | chpasswd
这段代码中,我们将用户名设定为users.list文件中的用户名,默认密码设定为123456
如果你是在win下编辑test_user_add.sh,并通过scp复制到Ubuntu,可能会出现以下报错
./test_user_add.sh: line 2: syntax error near unexpected token `$'do\r'' '/test_user_add.sh: line 2: `do
具体原因是不同系统回车符不同
unix下: <LF> :/n
windows下: <CR><LF> :/r/n
mac下: <CR> :/r
你可以在linux通过vim将回车都换一遍,也可以把win下的编辑器改成linux格式
再根据需要建立一个users.list文件,存入需要新建的用户
gao***bin quan***ming liu***yi chen***tian
每个用户之间用回车隔开,注意回车的格式需要是linux中的格式
具体的文件放在GitHub上了
可自行下载
顺便改了一个批量删除的脚本
for username in $(more user_del.list) do if [ -n $username ] then deluser --remove-home $username # 删除用户的主目录和邮箱 # deluser --remove-all-files $username # 删除用户拥有的所有文件 echo echo "User $username has been deleted!" else echo "The username is null!" fi done
-
LINUX/UNIX Shell编程大作业
2013-06-12 13:37:02在主Shell脚本文件里(必须以 menu 命名)要有一个多操作选项的菜单以便用户从中选择。在不同任务的中,这些操作能自动实现以下功能: 在屏幕上显示当前所有用户的记录 在屏幕上显示当前所有用户(经过格式化和... -
Unix/Linux 编程实践教程.PDF
2010-09-03 18:34:123.6.7 将用户/组 ID 转换成字符串 3.6.8 编写 ls2.c 3.7 三个特殊的位 3.7.1 set-user-ID 位 3.7.2 set-group-ID 位 3.7.3 sticky 位 3.7.4 用 ls -l 看到的特殊属性 3.8 ls 小结 3.9 设置和修改文件的属性... -
Tcl_TK编程权威指南pdf
2011-03-25 09:30:55其实,你可以通过添加一个Tcl解释器,来将自己的应用程序组织成一组操作原语,并使用这些原语来构造最符合用户需求的脚本程序。这样还可以允许其他的程序通过编程来控制你的应用程序,以使套装应用程序能够很好地在... -
Oracle Database 11g数据库管理艺术--详细书签版
2012-09-30 01:09:453.8.5 分析shell脚本 52 3.8.6 Korn shell编程中的流控制结构 53 3.9 管理UNIX进程 55 3.9.1 用ps命令收集进程信息 55 3.9.2 在注销后运行进程 56 3.9.3 在后台执行进程 56 3.9.4 用kill命令终止进程 ... -
入门学习Linux常用必会60个命令实例详解doc/txt
2011-06-09 00:08:45普通用户只能修改自己的Shell,超级用户可以修改全体用户的Shell。要想查询系统提供哪些Shell,可以使用chsh -l 命令,见图1所示。 图1 系统可以使用的Shell类型 从图1中可以看到,笔者系统中可以使用的Shell有... -
RED HAT LINUX 6大全
2011-10-21 18:46:062.4.7 超级用户口令 15 2.5 Red Hat软件包管理程序 16 2.6 小结 16 第3章 LILO 17 3.1 安装与配置LILO 18 3.1.1 安装或重新配置LILO 18 3.1.2 配置LILO 18 3.2 使用LOADLIN.EXE引导Linux 20 3.3 如何卸载LILO 21 3.4... -
Python Cookbook 第三版中文
2016-01-25 17:02:3113.11 给脚本添加日志记录 568 13.12 给库添加日志记录 571 13.13 创建一个秒表计时器 573 13.14 给内存和CPU使用量设定限制 575 13.15 加载Web浏览器 576 第14章 测试、调试以及异常 578 14.1 测试发送到stdout上的... -
Linux程序设计 第4版.haozip02
2012-11-05 00:29:32Linux程序设计 分卷文件共有以下2个: Linux程序设计 第4版.haozip01....18.2.2 lsb用户和组 638 18.2.3 lsb系统初始化 638 18.3 文件系统层次结构标准 639 18.4 更多标准 642 18.5 小结 642 注: 仅用于学习,... -
JAVA上百实例源码以及开源项目源代码
2018-12-11 17:07:42算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象... -
JAVA上百实例源码以及开源项目
2016-01-03 17:37:40Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥... -
(重要)AIX command 使用总结.txt
2011-12-25 16:40:17可以用该用户登录系统, 使用命令“ulimit -f”和“ulimit -Hf”可分别显示其fsize,fsize_hard的大小. //如何查看小型机适配器卡及硬盘的微码级别microcode level lscfg -vl device_name //查询SSA卡的微码级别 #... -
Python编程入门经典
2013-10-27 14:17:391.2.2 使用Python Shell 5 1.3 开始使用Python——字符串 6 1.3.1 字符串概述 6 1.3.2 为什么需要引号 6 1.3.3 为什么有3种类型的引号 7 1.3.4 使用print()函数 7 1.3.5 理解不同的引号 8 1.4 串联两个字符串 10 1.5... -
网管教程 从入门到精通软件篇.txt
2010-04-25 22:43:49bootcfg /rebuild 重复全部 Windows 安装过程并允许用户选择要添加的内容。 注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。 bootcfg /scan 扫描用于 Windows 安装的... -
《本地YouTube下载器》作者自己也承认youtube-dl要比《本地YouTube下载器》更好用一些,但《本地YouTube下载器》是一个脚本,无需安装Python开发环境,可以在浏览器直接使用,对普通用户极其友好,所以懒得折腾的非...
-
The GNU C Library :本手册的目的是告诉你如何使用GNU C库。 框架 C++通用框架和库 abseil-cpp :Abseil C ++ 通用库。 Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本组件的集合。 ...
-
vc++ 应用源码包_1
2012-09-15 14:22:12另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ... -
vc++ 应用源码包_2
2012-09-15 14:27:40另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ... -
vc++ 应用源码包_6
2012-09-15 14:59:46另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ... -
vc++ 应用源码包_5
2012-09-15 14:45:16另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ... -
vc++ 应用源码包_4
2012-09-15 14:38:35另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ... -
vc++ 应用源码包_3
2012-09-15 14:33:15另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...
收藏数
23
精华内容
9