Linux批量创建用户

1.1相关命令

编写脚本过程中主要使用两个命令useradd和passwd,可是使用man命令查看帮助。

man passwd
--stdin
This option is used to indicate that passwd should read the new password from standard input, which can be a pipe.
#可以使用标准输入的方式获取用户的新密码,且可以使用管道命令。
-e     
This is a quick way to expire a password for an account.  The  user  will  be  forced  to  change  the password during the next login attempt.Available to root only.
#用户下次登录时必须修改用户密码,且只有管理员能使用。

useradd  username
#管理员使用上面的命令就可以添加username用户。

1.2建立创建用户脚本

要求:创建user1到user5  5个用户,初始的用户密码和用户名相同。命令执行过程中不输出但需要提示用户创建成功,且创建的用户在登录时必须修改密码。

[[email protected] ~]# vi createuser.sh 
#!/bin/bash
for (( i=1 ; i<=5 ; i++ ))
{
        username=user${i}
        #用户名赋值到变量中
        useradd $username
        echo $username | passwd --stdin $username | >/dev/null
        #使用标准输入创建用户密码,执行过程的输出输出到/dev/null中
        passwd -e $username | >/dev/null
        #下次登录时必须修改密码
        echo "The user $username is created"
        #userdel -r $username
        #删除用户
}
#编辑完成后保存并退出

[[email protected] ~]# chmod u+x createuser.sh 
[[email protected] ~]# ./createuser.sh
#添加权限并执行  
The user user1 is created
The user user2 is created
The user user3 is created
The user user4 is created
The user user5 is created

1.3结果验证

[[email protected] ~]# tail -5 /etc/passwd
#查看/etc/passwd的末尾5行
user1:x:1002:1002::/home/user1:/bin/bash
user2:x:1003:1003::/home/user2:/bin/bash
user3:x:1004:1004::/home/user3:/bin/bash
user4:x:1005:1005::/home/user4:/bin/bash
user5:x:1006:1006::/home/user5:/bin/bash

[[email protected] ~]$ su - user2
#切换到用户user2
Password: 
You are required to change your password immediately (root enforced)
Changing password for user2.
(current) UNIX password: 
#提示输入新密码
时间: 2024-08-15 19:19:09

Linux批量创建用户的相关文章

chattr +A &nbsp; lsattr &nbsp; groupmems pwconv linux批量创建用户

该篇博客,我将为大家介绍几个命令,其中有部分用法很难查到,希望对大家有帮助 1.chattr: chattr命令用来改变文件属性.这项指令可改变存放在ext2文件系统上的文件或目录属性. chattr +A 文件    锁定某个文件的访问时间 chattr -A 文件    解锁某个文件的访问时间 chattr +i 文件    锁定文件,不能删除.改名.更改 chattr +a 文件    只能对文件内容追加,不能修改 man帮助中的一些用法: a:让文件或目录仅供附加用途.  b:不更新文件

Linux 批量创建用户及设置随机密码

一.项目需求批量创建10个用户stu01-stu10,并且设置随机8位密码,要求:不能用shell循环(例如:for,while等),只能用linux命令及管道实现.二.实现方法(一)1) 创建账号并设置随机密码[[email protected] ~]# for n in seq 10;do useradd user$n;echo "user$necho user$n|md5sum|cut -c4-8"|passwd --stdin user$n;done2)打印密码并导入文件[[e

linux批量创建用户的脚本

#!/bin/bash for user in `cat /home/opt/userlist.txt` do mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles/applyArea mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles/resultArea mkdir -p /app/

linux 批量创建用户

user 模块添加用户 python -c 'from passlib.hash import sha512_crypt; import getpass; print (sha512_crypt.encrypt(getpass.getpass()))' #python3 生成密码 ansible all -m user -a "name=admin password=$Mf6OK/7vjBDxZbjo$6Nj10h0Oa1fEoULbObgVcVWMT1XwCBR home=/app/admin

在 Linux 中如何自动批量创建用户

作为一名 Linux 系统管理员,你有时必须向系统添加新的用户帐户.为此,经常使用 adduser 命令.当涉及到多个用户的创建时,adduser 命令可能会变得相当无聊和耗时.这篇短文旨在为 Linux 系统管理员提供一种简单而无人值守的方式来批量创建用户.newusers 命令将帮助你通过从预填文件中获取信息来创建多个用户. 要求 访问 Linux 计算机的特权. 约定 #- 给定命令需要以 root 用户权限运行或者使用sudo命令 $- 给定命令以常规权限用户运行 如何进行 创建一个包含

linux实战考试题:批量创建用户和密码-看看你会么

linux实战考试题:批量创建用户和密码-看看你会么? 老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: # echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|p

Linux中用户和用户组的管理以及如何批量创建用户

一.创建新用户及管理新用户 1).添加新用户 命令格式:useradd [options] username 选项含义: -u:指定用户的UID -c:添加对用户的描述性文字 -s:指定用户的登录脚本 -e:设置账号的实效日期 -f:值为0表示密码立即实效 值为1表示密码永久不实效 -d:指定用户的家目录 -g:指定用户的所属组 -G:指定用户的附属组 使用该命令添加新用户完成后,系统将为用户创建一个与用户名相同的组(且UID=GID),称为私有组,这一方法是为了能让新用户与其他用户隔离,确保安

Linux 下批量创建用户(shell 命令)

第一种方法: 用shell批量创建用户,分为2中:1,批量创建的用户名无规律 :2.批量创建的用户名有规律首先,来说下批量创建的用户名无规律的shell:先把需要批量创建的用户名用一个文本文档列出来,如下图的userlist文件再把与用户名匹配的密码用另一个个文本文档列出来,如下图的passwd文件 这两个文本文档内容,如下图所示: 下面是我编写的shell脚本.如下图所示 注意需要导入我们在userlist中写的用户名与passwd中写的与用户名匹配的密码项注:chpasswd命令#以root

批量创建用户添加随机密码

1.批量创建用户user01-user10 #seq -w 10|sed -r "s/(.*)/useradd user\1/g"|bash 2.-r和\1的分析 -r, --regexp-extended use extended regular expressions in the script 表示可以使用扩展的正则 \1正则中匹配第一个group,也就是匹配第一个()里边的内容 下面案例分析 #vi test.txt sxz23749237492384 zxs379427493